This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: counting?
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: counting?
- From: Kay Michael <Michael dot Kay at icl dot com>
- Date: Wed, 22 Nov 2000 11:33:07 -0000
- Reply-To: xsl-list at mulberrytech dot com
> I would like to count the number of
> iterations in a for-each loop (used to
> create a table) and add in a new tag
> (to create a new table) every 15th iteration.
>
> How do I go about counting and checking
> for the 15th iteration in XSL?
You don't.
XSLT doesn't create tags, it creates element nodes in a tree. You can't
create the start tag now and the end tag 15 iterations later, creating an
element node on the tree is an atomic operation.
To solve this and other grouping problems, you need two nested loops. The
outer loop constructs the new element, the inner loop processes the 15 input
elements to put inside it.
Typically:
<xsl:for-each select="item[position() mod 15 = 1]">
<table>
<xsl:for-each select=". | following-sibling::item[position() < 15]">
<tr>
<!-- process the item -->
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list