This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Breaking large table up into multiple pages/tables
- From: Shawn dot Lindstrom at stpaul dot com
- To: XSL-List at lists dot mulberrytech dot com
- Date: Wed, 31 Jul 2002 08:34:46 -0500
- Subject: [xsl] Breaking large table up into multiple pages/tables
- Reply-to: xsl-list at lists dot mulberrytech dot com
I'm having trouble breaking my very large table up into multiple page
sequences. I've been following the suggestion in the FAQ for "grouping by
position".
I'm able to put every nth row using (position Mod n = 1) in a new
pagesequence/table. However, my problem is that my XML is far more complex
than the example and I can't get the XSL correct to retrieve the rows that
should follow in the same table.
Here's the basics of my XML:
<Location>
<Coverage>
<Policy>
<BreakoutRow/>
<BreakoutRow/>
...
<BreakoutRow/>
<Total Row/>
</Policy>
<Policy>
<BreakoutRow/>
<BreakoutRow/>
...
<BreakoutRow/>
<Total Row/>
</Policy>
<CoverageTotals>
<BreakoutRow/>
<BreakoutRow/>
...
<BreakoutRow/>
<Total Row/>
</CoverageTotals>
</Coverage>
<Coverage>
<Policy>
<BreakoutRow/>
<BreakoutRow/>
...
<BreakoutRow/>
<Total Row/>
</Policy>
<Policy>
<BreakoutRow/>
<BreakoutRow/>
...
<BreakoutRow/>
<Total Row/>
</Policy>
<CoverageTotals>
<BreakoutRow/>
<BreakoutRow/>
...
<BreakoutRow/>
<Total Row/>
</CoverageTotals>
</Coverage>
<Location>
My table looks like...
Policy BreakoutRow
BreakoutRow
BreakoutRow
TotalRow
Policy BreakoutRow
BreakoutRow
BreakoutRow
TotalRow
CoverageTotal BreakoutRow
BreakoutRow
BreakoutRow
TotalRow
Policy BreakoutRow
BreakoutRow
BreakoutRow
TotalRow
Policy BreakoutRow
BreakoutRow
BreakoutRow
TotalRow
CoverageTotal BreakoutRow
BreakoutRow
BreakoutRow
TotalRow
The XML can be very large and therefore the table needs to be broken up.
The for each I'm using to get every nth row on a new page sequence and
table is...
<xsl:for-each select="(Coverage/Policy/BreakoutRow|
Coverage/Policy/TotalRow|
Coverage/CoverageTotals/BreakoutRow|
Coverage/CoverageTotals/TotalRow)[position() mod
12 = 1]">
I've tried many different things - I guess I'm missing something.
I'm somewhat new to XSL, running short on time and my brain hurts :-).
Any help would be appreciated!
Thanks,
Shawn
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list