Subject: Re: [xsl] unknown number of columns...|
From: Herwig Posedu <herwig.posedu@xxxxxxxxxx>
Date: Thu, 12 Feb 2004 16:01:26 +0100
can i say, that if a specific number of columns are open (or if the end of the sitewidth is arrived...), make a "break" , make a new site, and show the rest of the columns on the next site?this works very fine, but i've 2 problems now:
That's not the xsl way of thinking about it (adding a break part way through a loop)
Of course splitting a table vertiacally gets interesting if the source may have spanning cels but assuming that isn't the case (and assuming you want $n columns per table) you just want to select your inventorlist elements in groups of $n.
For the first of each group: start a table, start a row, and process the rest of the group.
so <xsl:for-each select="inventorlist[position() mod $n = 1"> <fo:table>... <fo:table-head>.. <fo:table-body>... <fo:table-row> <xsl:for-each select=".|following-sibling::inventorlist[position()<$n"> <fo:table-cell... </xsl:for-each>
so if you have 21 columns and n is 10 you'll end up with two tables with 10 columns and one with 1, which is, I think your request?
Note you never need to break out of the loop, you just ensure before starting the loop that you have the correct number of nodes.
-- Herwig Posedu
unycom Information Technology Services GmbH Schmiedlstrasse 1/III A-8042 Graz
Tel: ++43/316/818828-19 Fax: ++43/316/818828-38
|<- Previous||Index||Next ->|
|Re: [xsl] unknown number of columns, Herwig Posedu||Thread||Re: [xsl] unknown number of columns, David Carlisle|
|Re: [xsl] Converting xml data to ht, David Carlisle||Date||[xsl] Re: alternative for modes, Dimitre Novatchev|