xsl-list
[Top] [All Lists]

[xsl] Problems with page-position="only" and FOP 0.95

2010-03-09 18:54:44
Hi All

I'm in the process of testing various FO Processors. I created some test files, 
one of which was a single page invoice and a multi-page invoice. The first page 
has a full header and remaining pages have a small headers (logo only). The 
last page has a big footer with totals. If the invoice only has a few lines 
then the big footer needs to go on page 1 (so first page header and last page 
footer). To accomplish this I use a conditional page-master with the 
page-position="only" trait.

It works fine for multi-page invoices in Antenna House and XEP, but in FOP, I 
get the "only" layout for every page. This was supposed to be fixed in FOP 
0.92, but still doesn't seem to work. Below is a snippet from my XSL:

<xsl:template match="/tg_invoice">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>

      <fo:layout-master-set>
        <!-- Define all page masters here -->
        <fo:page-sequence-master master-name="contents_sequence">
          <!-- Define sequence. First page will be "cover", next page will be 
"continuation" -->
          <fo:repeatable-page-master-alternatives>
            <!-- List of page masters that will be selected according the 
result of the page-position trait -->
            <fo:conditional-page-master-reference page-position="only" 
master-reference="single"/>
            <fo:conditional-page-master-reference page-position="first" 
master-reference="cover"/>
            <fo:conditional-page-master-reference page-position="rest" 
master-reference="continuation"/>
            <fo:conditional-page-master-reference page-position="last" 
master-reference="last"/>
          </fo:repeatable-page-master-alternatives>
        </fo:page-sequence-master>

        <!-- Layout for single page invoices -->
        <fo:simple-page-master master-name="single" page-height="29.7cm" 
page-width="21cm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" 
margin-right="1cm">
          <fo:region-body margin-top="9cm" margin-bottom="3cm"/>
          <fo:region-before region-name="header_first" extent="9cm"/>
          <fo:region-after region-name="footer_last" extent="3cm"/>
        </fo:simple-page-master>
        <!-- End -->
        
        <!-- Layout for first page -->
        <fo:simple-page-master master-name="cover" page-height="29.7cm" 
page-width="21cm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" 
margin-right="1cm">
          <fo:region-body margin-top="9cm" margin-bottom="1cm"/>
          <fo:region-before region-name="header_first" extent="9cm"/>
          <fo:region-after region-name="footer_rest" extent="1cm"/>
        </fo:simple-page-master>
        <!-- End -->
        
        <!-- Layout for subsequent pages -->
        <fo:simple-page-master master-name="continuation" page-height="29.7cm" 
page-width="21cm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" 
margin-right="1cm">
          <fo:region-body margin-top="3cm" margin-bottom="1cm"/>
          <fo:region-before region-name="header_rest" extent="3cm"/>
          <fo:region-after region-name="footer_rest" extent="1cm"/>
        </fo:simple-page-master>
        <!-- End -->
        
        <!-- Layout for last page -->
        <fo:simple-page-master master-name="last" page-height="29.7cm" 
page-width="21cm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" 
margin-right="1cm">
          <fo:region-body margin-top="3cm" margin-bottom="3cm"/>
          <fo:region-before region-name="header_rest" extent="2cm"/>
          <fo:region-after region-name="footer_last" extent="3cm"/>
        </fo:simple-page-master>
        <!-- End -->       
      </fo:layout-master-set>
      <!-- End page masters -->

Does the above look correct?

M a r k  


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] Problems with page-position="only" and FOP 0.95, Mark Anderson <=