Dear All,
I am using FOP version fop-0.20.5rc2 for generating PDF files on Windows XP box.
I am facing a problem in repeating values in table header from chid node. To
explain this in detail, I am enclosing a sample xml, required output and xsl I
have written for that.
I have following XML structure which needs to be displayed in a tabular format.
The number of rows to be displayed in table is dynamic and
would depend on number of StudentResultStruc in XML.
If the table spans next page, the table headers need to repeated on next page.
The XML layout is fixed and cannot be changed
<ExamReport>
<ClassData>
<Class>I</Class>
<StudentResultStruc>
<DateOfTest>01/02/2006</DateOfTest>
<TestNumber>T1</TestNumber>
<StudentID>A1</StudentID>
<GradeSub1>S1</GradeSub1>
<GradeSub2>S2</GradeSub2>
<Result>R1</Result>
</StudentResultStruc>
<StudentResultStruc>
<TestNumber>T2</TestNumber>
<StudentID>B1</StudentID>
<GradeSub1>R1</GradeSub1>
<GradeSub2>R2</GradeSub2>
<Result>P1</Result>
</StudentResultStruc>
<StudentResultStruc>
<TestNumber>T3</TestNumber>
<StudentID>C1</StudentID>
<GradeSub1>G1</GradeSub1>
<GradeSub2>G2</GradeSub2>
<Result>H1</Result>
</StudentResultStruc>
<StudentResultStruc>
<DateOfTest>01/03/2007</DateOfTest>
<TestNumber>T4</TestNumber>
<StudentID>D1</StudentID>
<GradeSub1>E1</GradeSub1>
<GradeSub2>E2</GradeSub2>
<Result>K1</Result>
</StudentResultStruc>
<ClassData>
<ExamReport>
The output table is as follows:
-------------------------- Page 1 ----------------------------------------
Date of Test(s) 01/02/2006
Test Number Student ID Grade Sub 1 Grade Sub 2 Result
T1 A1 S1 S2 R1
T2 B1 R1
P1
If this table spans on next page then, the Date of Test and
Table header need to repeat on next page as follows:
-------------------------- Page 2 ----------------------------------------
Date of Test(s) 01/02/2006
Test Number Student ID Grade Sub 1 Grade Sub 2 Result
T3 C1 G1 G2 H1
---------------------------- on Change of Date, the headers need to appear
again.
Date of Test(s) 01/03/2007
Test Number Student ID Grade Sub 1 Grade Sub 2 Result
T4 D1 E1 E2 K1
<xsl:template match="ClassData">
<fo:table table-layout="fixed" table-omit-header-at-break="false">
<fo:table-column column-width="480pt"/>
<fo:table-header>
<!-- ****** Dynamic Part of the Header ***** -->
<fo:table-row>
<fo:table-cell>
<fo:table table-layout="fixed">
<fo:table-column column-width="70pt"/>
<fo:table-column column-width="410pt"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA">Date of Test(s)</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA"><xsl:value-of select="DateOfTest"/></fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:table-cell>
</fo:table-row>
<!-- ****** Static Part of the Header ***** -->
<fo:table-row>
<fo:table-cell>
<fo:table table-layout="fixed">
<fo:table-column column-width="55pt"/>
<fo:table-column column-wid
pt"/>
<fo:table-column column-width="50pt"/>
<fo:table-column column-width="50pt"/>
<fo:table-column column-width="40pt"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA">Test Number</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA">Student ID</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA">Grade Sub 1</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA">Grade Sub 2</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block
xsl:use-attribute-sets="FontSetA">Result</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<!-- ****** Table Body that ***** -->
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<!-- ********** This part generates the actual data in
table ************* -->
<xsl:apply-templates select="StudentResultStruc"/>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:template>
Any help in resolving this issue would be highly appreciated.
Regads,
PY
___________________________________________________________________
______
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
--~------------------------------------------------------------------
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>
--~--