0
votes

My xsl-template is called inside page-sequence which is contains a static header.The template contains a block with margin-top="30mm". My problem is that the margin top is applied only in the first page. I want to have the same margin (30 mm) in all pages of the page sequence...

In the pages after the first , the statis content and the block of template overflow...

Can some guides me to resolve this.

<fo:page-sequence master-reference="simpleA5">
                <fo:static-content flow-name="xsl-region-before">
                    <fo:block-container width="297mm" height="25mm"
                        background-color="#DCDCDC">

                        <fo:block margin-left="5mm" margin-top="5mm"
                            margin-right="2mm">
                            <fo:table>
                                <fo:table-column column-width="35mm" />
                                <fo:table-column column-width="25mm" />
                                <fo:table-column column-width="40mm" />
                                <fo:table-column column-width="40mm" />
                                <fo:table-column column-width="50mm" />
                                <fo:table-column column-width="25mm" />
                                <fo:table-column column-width="70mm" />
                                <fo:table-body>
                                    <fo:table-row>
                                        <fo:table-cell>
                                            <fo:block>
                                                <fo:leader leader-length="3.5cm" leader-pattern="rule"
                                                    rule-style="solid" rule-thickness="0.06cm" />
                                                <fo:block>
                                                    <fo:inline font-size="10pt">
                                                        RĂ©concilation
                                                        comptable
                                                    </fo:inline>
                                                </fo:block>
                                            </fo:block>
                                        </fo:table-cell>
                                        <fo:table-cell>
                                            <fo:block>
                                                <fo:leader leader-length="2cm" leader-pattern="rule"
                                                    rule-style="solid" rule-thickness="0.06cm" />
                                                <fo:block>
                                                    <fo:inline font-size="10pt">
                                                        Annexes
                                                    </fo:inline>
                                                </fo:block>
                                            </fo:block>
                                        </fo:table-cell>
                                    </fo:table-row>
                                </fo:table-body>
                            </fo:table>
                        </fo:block>
                    </fo:block-container>
                </fo:static-content>
                <fo:flow flow-name="xsl-region-body" border-collapse="collapse"
                    reference-orientation="0">
                    <xsl:call-template name="ResultTech" />

                </fo:flow>
            </fo:page-sequence>

The template is something like this.

<xsl:template name='ResultTech'>
        <fo:block page-break-before="always" margin-top="30mm"
            ........
        </fo:block>
</xsl:template>
1

1 Answers

1
votes

Put the margin on the fo:region-body, not on the fo:block.

For guides on how to use XSL-FO, see the "Comprehensive XSL-FO Tutorials and Samples Collection" at https://www.antennahouse.com/antenna1/comprehensive-xsl-fo-tutorials-and-samples-collection/ and "How to Develop Stylesheets for XML to XSL-FO Transformation" at https://www.antennahouse.com/antenna1/xml-to-xsl-fo-stylesheets/.