Lebende Kolumnentitel

Es werden die Überschriften des übergeordneten Kapitels und des aktuellen Abschnitts im Kopfbereich der Seiten eingefügt.

In diesem Abschnitt wird der Einsatz des Marker-Konzeptes im Kopfbereich der Seiten gezeigt. Das Konzept besteht aus zwei Elementen. Das eine Element <fo:marker> bezeichnet den im Kopfbereich darzustellenden Inhalt, das andere Element <fo:retrieve-marker> die Stelle im Kopfbereich, an der dieser gespeicherte Inhalt aufgerufen wird.

Quellcode

 <fo:page-sequence master-reference="PageMaster.Inhalt">
    <fo:static-content flow-name="xsl-region-before">
       <fo:block text-align="center" font-size="10pt" font-weight="bold">
          <fo:retrieve-marker retrieve-class-name="Ueberschrift-Ebene1"    ❶
          retrieve-position="first-including-carryover"
          retrieve-boundary="page-sequence"/>
       </fo:block>
       <fo:block text-align="left" font-size="10pt">
          <fo:retrieve-marker retrieve-class-name="Ueberschrift-Ebene2"    ❷
          retrieve-position="last-ending-within-page"
          retrieve-boundary="page-sequence"/>
       </fo:block>
    </fo:static-content>
</fo:page-sequence>
...
<xsl:template match="Abschnitt/Titel">
   <fo:block>
      <fo:marker marker-class-name="Ueberschrift-Ebene1">                  ❸
         <xsl:number level="multiple" count="Abschnitt" format="1. "/>     ❸
         <xsl:value-of select="."/>                                        ❸
      </fo:marker>
   </fo:block>
</xsl:template>
<xsl:template match="Abschnitt/Abschnitt/Titel">
   <fo:block>
      <fo:marker marker-class-name="Ueberschrift-Ebene2">                  ❸
         <xsl:number level="multiple" count="Abschnitt | Abschnitt/Abschnitt" format="1.1 "/>
         <xsl:value-of select="."/>                                        ❸
      </fo:marker>
   </fo:block>
</xsl:template>
 

❶ Mit dem Element <fo:retrieve-marker> wird die im Attribut retrieve-class-name mit Ueberschrift-Ebene1 bezeichnete Überschrift in den Kopfbereich kopiert. Dieser Attributwert muss mit dem für das Attribut marker-class-name im Element <fo:marker> übereinstimmen. Der Wert des Attributs retrieve-position entscheidet darüber, welcher auf der gegebenen Seite auftretende Marker kopiert werden soll. Mit dem Wert first-including-carryover wird der erstauftretende Marker bestimmt, d. h. ggf. der Marker des Abschnitts, der auf der gegebenen Seite beendet wird. Mit dem Attribut retrieve-boundary wird spezifiziert, auf welchen Seiten in der Folge dieser Marker verwendet werden soll. Mit dem Wert page-sequence wird bestimmt, dass der Marker gelten soll, bis er durch den Marker für den folgenden Abschnitt abgelöst wird.

❷ In diesem zweiten Block werden die Überschriften der zweiten Ebene verarbeitet und unter der Überschrift erster Ebene ausgegeben. Das Attribut retrieve-position hat hier den Wert last-ending-within-page. Es wird der letztauftretende Marker der Seite in den Kopfbereich kopiert.

❸ Das Element <fo:marker> mit seinem obligatorischen Attribut marker-class-name bestimmt, dass der Inhalt dieses Elements für die Nutzung mit <fo:retrieve-marker> bereitgestellt wird und gibt diesem Inhalt einen Namen, mit dem er in <fo:retrieve-marker> abgerufen werden kann.

 

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSL-FO bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © dpunkt.verlag GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSL-FO in der Praxis" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

dpunkt.verlag GmbH, Ringstraße 19B, 69115 Heidelberg, fon 06221-14830, fax 06221-148399, hallo(at)dpunkt.de