2 votes

Comment récupérer un marqueur xsl-fo à partir de sa séquence de pages ?

J'utilise des marqueurs XSL-FO pour générer des têtes de chapitre, et j'ai du mal à récupérer le titre du livre. J'ai trouvé une solution de contournement, mais je me suis dit qu'il devait y avoir une solution plus élégante. Comme le titre du livre n'apparaît sous forme de texte qu'au début du livre, mon marqueur ne se trouve pas dans la même séquence de pages que mon contenu statique. Existe-t-il un mécanisme permettant de récupérer un marqueur hors séquence de pages ?

J'utilise XSLT Formatter V 4.3 pour ma génération de PDF, mais je n'y suis pas attaché.

Un exemple XML très simplifié :

<book>
<bktitle>Alice in Wonderland</bktitle>
<chapter>
<chaptitle>Chapter 1</chaptitle>
<para>This is the story of Alice in Wonderland.</para>
</chapter>
</book>

Extraits du XSL-FO :

<fo:page-sequence master-reference="fm">
  <fo:title>Alice in Wonderland</fo:title>
  <fo:flow flow-name="xsl-region-body">
     <fo:block font-variant="small-caps">
        <fo:marker marker-class-name="book">Alice in Wonderland</fo:marker>Alice in Wonderland</fo:block>
  </fo:flow>
</fo:page-sequence>

<fo:page-sequence master-reference="body">
  <fo:title>Chapter 1</fo:title>
  <fo:static-content flow-name="header">
     <fo:block><fo:retrieve-marker retrieve-class-name="book"/></fo:block>
  </fo:static-content>
  <fo:flow flow-name="xsl-region-body">
     <fo:block font-variant="small-caps">
        <fo:marker marker-class-name="chapter">Chapter 1</fo:marker>Chapter 1</fo:block>
     <fo:block>This is the story of Alice in Wonderland.</fo:block>
  </fo:flow>
</fo:page-sequence>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X