von Patrick Gundlach |

Feature der Woche / Handbuch / Neue Version: 2.9.11

Nach 41 Folgen in der Reihe »Feature der Woche« wird es in diesem Blog etwas andere Schwerpunkte geben. Ich bin zwar mit den Features noch nicht am Ende, aber ich denke, dass ich alle grundlegenden Eigenschaften beschrieben habe. Daher höre ich erst einmal mit der Serie auf.

Handbuch

Derzeit habe ich (neben dem normalen Projektgeschäft, mit dem ich mein Geld verdiene) eine größere Baustelle: das Handbuch wird komplett überarbeitet. Es ist zu 95% fertig, als PDF kommt es auf immerhin schon 300 Seiten. Ich werde es bald öffentlich machen, wenn ich Gelegenheit dazu habe. Bei Interesse kann ich auch eine Vorabversion verschicken. Das Handbuch soll als HTML, PDF, ePub und als gedrucktes Buch erscheinen, und das auf Deutsch und auf Englisch. Soviel sei verraten: es ist eine Kombination aus Einleitung, Kochbuch und Referenz. Die Serie »Feature der Woche« ist fast vollständig in das Buch eingearbeitet, ebenso die Referenz, die derzeit online ist. Dazu kommen natürlich hunderte Korrekturen, Verbesserungen, Querverweise, neue Beispiele etc.

Aktuelle Versionen

Hin und wieder gibt es ja eine neue Version des Publishers, manchmal sogar mehrmals am Tag. Meist sind es nur kleine Änderungen, kleine Bugfixes für spezielle Situationen. Manchmal gibt es aber auch echte neue Features, die ich gerade in einem Projekt benötige. Ich werde nun (hoffentlich regelmäßig) bei einer neuen Version einen kurzen Beitrag über die Änderungen schreiben.

Version 2.9.11

Neu in der Version 2.9.11 ist, dass das Attribut defaultcolor (siehe Feature der Woche Nr. 33) nun so spät wie möglich ausgewertet wird. Damit kann man einen XPath-Ausdruck dort angeben, der den aktuellen Wert bestimmt. Somit ist dies nun möglich:

<Layout
  xmlns="urn:speedata.de:2009/publisher/en"
  xmlns:sd="urn:speedata:2009/publisher/functions/en">

  <Pagetype name="foo" test="true()" defaultcolor="{$mycolor}">
    <Margin left="1cm" right="1cm" top="1cm" bottom="1cm"/>
  </Pagetype>

  <Record element="data">
    <SetVariable variable="mycolor" select="'green'"/>
    <PlaceObject>
      <Textblock>
        <Paragraph>
          <Value>Grün?</Value>
        </Paragraph>
      </Textblock>
    </PlaceObject>
    <NewPage/>
    <SetVariable variable="mycolor" select="'blue'"/>
    <PlaceObject>
      <Textblock>
        <Paragraph>
          <Value>Blau!</Value>
        </Paragraph>
      </Textblock>
    </PlaceObject>
  </Record>

</Layout>

Daneben gibt es eine Fehlerkorrektur wenn <Color></Color> keinen Inhalt hat. Außerdem können Initialen (siehe Feature der Woche 38) nun mit komplexen Formen kombiniert werden:

<Layout
  xmlns="urn:speedata.de:2009/publisher/en"
  xmlns:sd="urn:speedata:2009/publisher/functions/en">

  <Trace grid="yes"/>
  <Pagetype name="foo" test="true()">
    <Margin left="1cm" right="1cm" top="1cm" bottom="1cm"/>
    <PositioningArea name="text">
      <PositioningFrame width="5" height="20" row="1" column="2"/>
    </PositioningArea>
  </Pagetype>
  <SetGrid nx="20" height="12pt"/>

  <DefineFontfamily name="big" fontsize="24" leading="24">
    <Regular fontface="sans-bold"/>
  </DefineFontfamily>

  <Record element="data">
    <PlaceObject>
      <Box width="2" height="2" backgroundcolor="green"/>
    </PlaceObject>
    <Output area="text" row="2" allocate="auto">
      <Text>
        <Paragraph>
          <Initial fontface="big" color="blue">
            <Value>E</Value>
          </Initial>
          <Value>s war einmal ein großer Drache, der nur deswegen existierte, damit es einen Blindtext gibt.</Value>
        </Paragraph>
      </Text>
    </Output>
  </Record>

</Layout>

Die Initiale nutzt nur den verfügbaren Raum