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.
<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 >> |