You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Pierre-Yves Chauveau <pi...@manpower.fr> on 2002/04/24 18:36:33 UTC

Multi-page marker

Hi,
I would like to use a marker that can be retrieved from a different page, ie till I don't get a new title I want the same title rendered in the footer part.
So I used marker and retrieve marker but I get a NPE
If I put retrieve-boundary="page", it works on the first page but on the second page I don't get anything...

Pierre-Yves.

xsl:
   <fo:page-sequence master-reference="all" format="1" initial-page-number="1">
    <!-- zone d'en-tête -->
    <fo:static-content flow-name="xsl-region-before">
     <fo:block text-align="center" font-size="30pt" font-family="serif" font-weight="bold">
      Ordre Client
     </fo:block>
    </fo:static-content>
    <!-- zone de bas de page-->
    <fo:static-content flow-name="xsl-region-after">
     <fo:block text-align="start" font-size="10pt" font-family="serif" line-height="1em + 2pt">
      Title of the book : <fo:retrieve-marker retrieve-class-name="title" retrieve-boundary="page-sequence"/>
      </fo:block>
    </fo:static-content>
    <fo:flow flow-name="xsl-region-body">
     <xsl:for-each select="book">
      <fo:block break-before="page">
       <xsl:apply-templates select="."/>
      </fo:block>
     </xsl:for-each>
    </fo:flow>
   </fo:page-sequence>
  </fo:root>
 </xsl:template>
 <xsl:template match="book">
  <fo:marker marker-class-name="title"><xsl:value-of select="title"/>
  </fo:marker>
  <fo:list-block provisional-distance-between-starts="47mm" provisional-label-separation="4mm>
   <fo:list-item space-after="2mm">
    <fo:list-item-label>
     <fo:block>Title : </fo:block>
    </fo:list-item-label>
    <fo:list-item-body start-indent="body-start()" end-indent="5mm">
     <fo:block>
      <xsl:value-of select="title"/>
     </fo:block>
    </fo:list-item-body>
   </fo:list-item>
  </fo:list-block>
  <fo:block break-before="page" font-weight="bold" font-size="16pt" border-after-style="solid" border-after-color="blue" border-after-width="2pt" space-after="3mm">
   C'est un beau livre mais dont on ne sait pas la fin  </fo:block> 

Exception     :
---------

javax.xml.transform.TransformerException
        at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1212)
        at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
        at java.lang.Thread.run(Unknown Source)
---------
java.lang.NullPointerException
        at org.apache.fop.fo.flow.RetrieveMarker.searchPage(RetrieveMarker.java:89)
        at org.apache.fop.fo.flow.RetrieveMarker.layout(RetrieveMarker.java:70)
        at org.apache.fop.fo.flow.Block.layout(Block.java:262)
        at org.apache.fop.fo.flow.StaticContent.layout(StaticContent.java:79)
        at org.apache.fop.fo.pagination.PageSequence.layoutStaticContent(PageSequence.java:415)
        at org.apache.fop.fo.pagination.PageSequence.formatStaticContent(PageSequence.java:377)
        at org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:304)
        at org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:200)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:182)
        at org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java:284)
        at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:749)
        at org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java:495)
        at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:193)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2154)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2097)
        at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2029)
        at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1189)
        at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
        at java.lang.Thread.run(Unknown Source)



Re: Multi-page marker

Posted by "J.Pietschmann" <j3...@yahoo.de>.
Pierre-Yves Chauveau wrote:
> I would like to use a marker that can be retrieved from a different 
> page, ie till I don't get a new title I want the same title rendered in 
> the footer part.
> 
> So I used marker and retrieve marker but I get a NPE

The current implementation can only get markers from the same
page. It's noted somewhere in the documentation distributed
with FOP. It will take some time to get the full spec
implemented.

J.Pietschmann