XSL FO Margin problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

XSL FO Margin problem

ThanatosX
Hello all

I have encountered a problem when I want to work with condition-page-master-references.
I have 3 sorts of possible pages: First page, remainder pages, last page.

Here you can see what I wrote:
        <xsl:template match="/">
                <fo:root>
                        <fo:layout-master-set>
                                <fo:simple-page-master master-name="frontPageMaster"
                                        page-height="297mm" page-width="210mm" margin="10mm">
                                        <fo:region-body region-name="body" margin-top="76.05mm" margin-bottom="19.54mm" margin-right="40mm"/>
                                        <fo:region-before region-name="headerFirst" extent="70mm" display-align="before"/>
                                        <fo:region-after region-name="footerFirst" extent="10mm" display-align="after"/>
                                </fo:simple-page-master>

                                <fo:simple-page-master master-name="remainderPagesMaster"
                                        page-height="297mm" page-width="210mm" margin="10mm">
                                        <fo:region-body region-name="body" margin-top="{$remainderPagesTopMargin}" margin-bottom="19.54mm"/>
                                        <fo:region-before region-name="headerRemainder" extent="{$remainderPagesTopMargin}"/>
                                        <fo:region-after region-name="footerRemainder" extent="19.54mm"/>
                                </fo:simple-page-master>

                                <fo:simple-page-master master-name="lastPageMaster"
                                        page-height="297mm" page-width="210mm" margin="10mm">
                                        <fo:region-body region-name="body" margin-top="{$lastPageHeaderHeight}" margin-bottom="{$lastPageBottomMargin}" background-color="{$disclaimerBGColor}"/>
                                        <fo:region-before region-name="headerLast" extent="{$lastPageHeaderHeight}" background-color="{$disclaimerBGColor}" display-align="after"/>
                                        <fo:region-after region-name="footerLast" extent="10mm" background-color="{$disclaimerBGColor}" display-align="after"/>
                                </fo:simple-page-master>

                                <fo:page-sequence-master master-name="allPages">
                                        <fo:repeatable-page-master-alternatives>
                                                <fo:conditional-page-master-reference page-position="first" master-reference="frontPageMaster"/>
                                                <fo:conditional-page-master-reference page-position="rest" master-reference="remainderPagesMaster"/>
                                                <fo:conditional-page-master-reference page-position="last" master-reference="lastPageMaster"/>
                                        </fo:repeatable-page-master-alternatives>
                                </fo:page-sequence-master>
                        </fo:layout-master-set>

                        <fo:page-sequence master-reference="allPages">
                                <fo:static-content flow-name="headerFirst">
                                        <xsl:call-template name="page1Header"/>
                                </fo:static-content>

                                <fo:static-content flow-name="headerRemainder">
                                        <xsl:call-template name="remainderPagesHeader"/>
                                </fo:static-content>

                                <fo:static-content flow-name="headerLast">
                                        <xsl:call-template name="lastPageHeader"/>
                                </fo:static-content>

                                <fo:static-content flow-name="footerFirst">
                                        <xsl:call-template name="page1Footer"/>
                                </fo:static-content>

                                <fo:static-content flow-name="footerRemainder">
                                        <xsl:call-template name="remainderPagesFooter">
                                                <xsl:with-param name="showPageNumber">true</xsl:with-param>
                                        </xsl:call-template>
                                </fo:static-content>
                               
                                <fo:static-content flow-name="footerLast">
                                        <xsl:call-template name="lastPageFooter"/>
                                </fo:static-content>
                               
                                <fo:flow flow-name="body">
                                        <xsl:call-template name="bodyAllPages"/>
                                </fo:flow>
                        </fo:page-sequence>
                </fo:root>
        </xsl:template>

        <xsl:template name="bodyAllPages">
                <xsl:call-template name="bodyFirstPage"/>
                <xsl:call-template name="bodyRemainderPages"/>
                <xsl:call-template name="bodyLastPage"/>
        </xsl:template>

        ...

The problem occurs when I have several tables that are kept within the page (keep-together.within-page="always").

Whenever the second page is reached, the table looks like only taking the margins from page1 (right margin = 4mm) instead of the defined I had (1mm).

I HAVE to use FOP0.95.

Anyone has an idea on this problem?




Kind regards and thanks!