[ 
https://issues.apache.org/jira/browse/FOP-2813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Steiner updated FOP-2813:
-------------------------------
    Fix Version/s:     (was: 2.3)

> Internal Links break when using page-number-citiation
> -----------------------------------------------------
>
>                 Key: FOP-2813
>                 URL: https://issues.apache.org/jira/browse/FOP-2813
>             Project: FOP
>          Issue Type: Bug
>          Components: fo/block, fo/page
>         Environment: XALAN
> XSL 2.0
>            Reporter: Dennis
>            Priority: Major
>         Attachments: minimal_report.xsl, out.pdf
>
>
> Internal page links break when used in conjunction with 
> pager-number-citiation.
> I made a minimal sheet which generates a ToC and 4 data sites. Links to 
> data1-data3 do not work. Link to data4 works. The breaking point is in the 
> footer with the call to "page-number-citiation-last" ("page-number-citiation" 
> breaks it too). All links to pages AFTER the call (In this case its the id of 
> data3) work. All before do not.
> This issue is not limited to using page-number-citiation in static content 
> but also in page flow. As soon as an id is referenced via this call all 
> internal links that point to the id or any id before in the document break.
> Stylesheet (Also attached with generated pdf):
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                 xmlns:fo="http://www.w3.org/1999/XSL/Format";
>                 xmlns:java="http://xml.apache.org/xalan/java";
>                 version="2.0">
>   <xsl:output method="xml" indent="yes" encoding="utf-8"></xsl:output>
>   <xsl:template match="/">
>     <fo:root>
>       <fo:layout-master-set>
>         <fo:simple-page-master master-name="A4-portrait" page-height="29.7cm" 
> page-width="21.0cm" margin="2cm">
>           <fo:region-body margin-top="2.5cm" margin-bottom="0.1cm"/>
>           <fo:region-before extent="2.5cm"/>
>           <fo:region-after extent="0.1cm"/>
>         </fo:simple-page-master>
>       </fo:layout-master-set>
>       <fo:page-sequence master-reference="A4-portrait" id="toc">
>         <fo:flow flow-name="xsl-region-body">
>           <fo:block>
>             <fo:basic-link internal-destination="data1">data1</fo:basic-link>
>           </fo:block>
>           <fo:block>
>             <fo:basic-link internal-destination="data2">data2</fo:basic-link>
>           </fo:block>
>           <fo:block>
>             <fo:basic-link internal-destination="data3">data3</fo:basic-link>
>           </fo:block>
>           <fo:block>
>             <fo:basic-link internal-destination="data4">data4</fo:basic-link>
>           </fo:block>
>         </fo:flow>
>       </fo:page-sequence>
>       <fo:page-sequence master-reference="A4-portrait" id="data1">
>         <xsl:call-template name="footer"/>
>         <xsl:call-template name="blob-template">
>           <xsl:with-param name="blob">data 1</xsl:with-param>
>         </xsl:call-template>
>       </fo:page-sequence>
>       <fo:page-sequence master-reference="A4-portrait" id="data2">
>         <xsl:call-template name="footer"/>
>         <xsl:call-template name="blob-template">
>           <xsl:with-param name="blob">data 2</xsl:with-param>
>         </xsl:call-template>
>       </fo:page-sequence>
>       <fo:page-sequence master-reference="A4-portrait" id="data3">
>         <xsl:call-template name="footer"/>
>         <xsl:call-template name="blob-template">
>           <xsl:with-param name="blob">data 3</xsl:with-param>
>         </xsl:call-template>
>       </fo:page-sequence>
>       <fo:page-sequence master-reference="A4-portrait" id="data4">
>         <xsl:call-template name="footer"/>
>         <xsl:call-template name="blob-template">
>           <xsl:with-param name="blob">data 4</xsl:with-param>
>         </xsl:call-template>
>       </fo:page-sequence>
>     </fo:root>
>   </xsl:template>
>   <xsl:template name="blob-template">
>     <xsl:param name="blob"></xsl:param>
>     <fo:flow flow-name="xsl-region-body">
>       <fo:block>
>         <xsl:value-of select="$blob"/>
>       </fo:block>
>     </fo:flow>
>   </xsl:template>
>   <!-- ################# FOOTER ################################### -->
>   <xsl:template name="footer">
>     <fo:static-content flow-name="xsl-region-after">
>       <fo:block text-align="center">
>         <fo:page-number/> /
>         <fo:page-number-citation-last ref-id="data3"/>
>       </fo:block>
>     </fo:static-content>
>   </xsl:template>
> </xsl:stylesheet>{code}
> Output when generating:
> {code:java}
> 2018-09-05 14:03:33,829 - WARN  - The contents of fo:region-after on page 2 
> exceed the available area in the block-progression direction by 11566 
> millipoints. (No context info available)
> 2018-09-05 14:03:33,835 - WARN  - The contents of fo:region-after on page 3 
> exceed the available area in the block-progression direction by 11566 
> millipoints. (No context info available)
> 2018-09-05 14:03:33,837 - WARN  - The contents of fo:region-after on page 4 
> exceed the available area in the block-progression direction by 11566 
> millipoints. (No context info available)
> 2018-09-05 14:03:33,840 - WARN  - The contents of fo:region-after on page 5 
> exceed the available area in the block-progression direction by 11566 
> millipoints. (No context info available)
> 2018-09-05 14:03:33,844 - INFO  - Rendered page #1.
> 2018-09-05 14:03:33,845 - INFO  - Rendered page #2.
> 2018-09-05 14:03:33,846 - INFO  - Rendered page #3.
> 2018-09-05 14:03:33,847 - INFO  - Rendered page #4.
> 2018-09-05 14:03:33,847 - INFO  - Rendered page #5.
> 2018-09-05 14:03:33,848 - WARN  - 4 link targets could not be fully resolved 
> and now points to the top of the page or are dysfunctional.{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to