Contents | < Les Apostilles | Les Marques-Page >
Probablement vous avez remarquez comment est montré sur l'en-tête le nom du chapitre courant dans un livre. Pour mettre en application ce dispositif, vous devez comprendre les éléments de délimitation de XSL-FO.
D'abord vous "marquez" (délimitez) des pièces de votre contenu en tant qu'étant recoupérables afin de les montrer dans les en-têtes ou les titres de bas de page. Pour ceci vous employez fo:marker. Le délimiteur est habituellement associé à un fo:block, donc, l'information provénante du marqueur peut être montrée dans tout ces pages où le fo:block gènére des secteurs.
Alors vous allez dire au moteur de montrer un délimiteur dans les en-têtes ou le titre de bas de page en utilisant fo:retrieve-marker. Il peut y avoir bien sûr des plusieurs délimiteurs dans une certaine page, ainsi vous devez employer un nom unique pour chaque délimiteur, aussi bien que la règle de récupération: le premier délimiteur avec le nom donné présent dans la page, ou le premier qui commence dans la page, ou le dernier, etc.
L'éxemple suivant montre un document à deux chapitres, avec le titre de chapitre étant montré dans l'en-tête.
<fo:page-sequence master-reference="all-pages" font="italic 10pt Verdana">
<fo:static-content flow-name="xsl-region-before">
<fo:block>
The first title present on this page:
<fo:retrieve-marker retrieve-class-name="title"
retrieve-position="first-starting-within-page"
retrieve-boundary="page" />
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body" font="10pt Verdana">
<fo:block>
<fo:block font="18pt 'Arial Narrow'">
<fo:marker marker-class-name="title" >
Title of Chapter 1
</fo:marker>
Chapter 1
</fo:block>
Text ...
</fo:block>
<fo:block break-before="page">
<fo:block font="18pt 'Arial Narrow'">
<fo:marker marker-class-name="title" >
Title of Chapter 2
</fo:marker>
Chapter 2
</fo:block>
Text ...
</fo:block>
</fo:flow>
</fo:page-sequence>
![]() | Pour le code source complet pour cet exemple de code voyez "Tutorial/Markers.fo" situé dans le dossier XML Documents Samples/Tutorial. |
Le résultat du rendant est montré dans la figure suivante.

Figure 1
Les points importants dans ce document sont:
Dans le corps de la page nous déclarons un délimiteur pour chaque fo:block dans le flux. Le deuxième paragraphe ira dans la deuxième page parce qu'il a l'attribut break-before réglé.
Dans la région d'en-tête, cela s'applique pour chaque page générée, nous récupérons les délimiteurs en utilisant fo:retrieve-marker. Le délimiteur "type" est indiqué dans l'attribut retrieve-class-name.
Limitez le champs de la récupération du délimiteur pour être dans la même page que l'élément retrieve-marker. La première occurrence sera montrée.
Contents | < Les Apostilles | Les Marques-Page >