Hi!
There is an attribute "table-omit-header-at-break" for fo:table element, if it is set to "true" all table headers on line breaks will be omitted. But that is surely not your case. I tried to reproduce your situation, but as you can see from attachment, the result is quite correct.
You supplied XSL code, but it would be much informative in case you had sent your resulting XSL-FO code.
<xsl:call-template name="display_attribute_name">
<xsl:with-param name="catName" select="$catName" />
<xsl:with-param name="attrName" select="@name" />
</xsl:call-template>
Do you generate any attribute concerning area padding or its margins in "display_attribute_name" template? What is the produced height of your header? Check whether it is smaller than 4cm (margin-top for page plus margin-top for region-body) and it do not overlap with table header.
Are you using FOP? Try to use another formatter to see where the problem is.. RenderX allows to use free of charge their XEP formatter for personal use.. Check http://www.renderx.com/download/personal.html.
Respectfully,
Volodymyr Rodymyuk
________________________________
From: www-xsl-fo-request@w3.org [mailto:www-xsl-fo-request@w3.org] On Behalf Of Cournane, Eamon
Sent: Wednesday, August 15, 2007 8:17 PM
To: www-xsl-fo@w3.org
Subject: Table headers missing on all pages except last.
I am using the following to create a table and it spans multiple pages and I have a header set on it but it only shows up on the last page of the table. Any pages the table spans before the last page do not have headers. Has anyone seen this before?
<fo:table table-layout="fixed" width="100%" text-align="center" space-after="10px">
<!-- Loop through attributes and define column for each -->
<xsl:for-each select="descendant::Feature[1]/Attribute">
<xsl:call-template name="column_for_attribute">
<xsl:with-param name="catName" select="$catName" />
<xsl:with-param name="attrName" select="@name" />
</xsl:call-template>
</xsl:for-each>
<!-- Loop through and add header for each column -->
<fo:table-header>
<fo:table-row>
<xsl:for-each select="descendant::Feature[1]/Attribute">
<fo:table-cell>
<fo:block font-size="6.5pt" text-decoration="underline">
<xsl:call-template name="display_attribute_name">
<xsl:with-param name="catName" select="$catName" />
<xsl:with-param name="attrName" select="@name" />
</xsl:call-template>
</fo:block>
</fo:table-cell>
</xsl:for-each>
</fo:table-row>
</fo:table-header>
<!-- Loop through attributes and add table cell for each -->
<fo:table-body>
<xsl:for-each select="descendant::Feature">
<fo:table-row>
<xsl:for-each select="Attribute">
<fo:table-cell>
<fo:block font-size="6.5pt">
<xsl:call-template name="display_attribute_value">
<xsl:with-param name="catName" select="$catName" />
<xsl:with-param name="attrName" select="@name" />
<xsl:with-param name="attrValue" select="@value" />
</xsl:call-template>
</fo:block>
</fo:table-cell>
</xsl:for-each>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
My layout and page sequences are setup like this(I have cut out some of the template calls and data.):
<fo:layout-master-set>
<fo:simple-page-master master-name="simple" page-height="27.8cm" page-width="21.5cm" margin-left="2.5cm"
margin-right="2.5cm" margin-top="1cm" margin-bottom="1cm">
<fo:region-body margin-top="3cm" margin-bottom="3cm" />
<fo:region-before extent="2.5cm" region-name="header" />
<fo:region-after extent="2.5cm" region-name="footer" />
</fo:simple-page-master>
</fo:layout-master-set>