RE: counting?

Subject: RE: counting?
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Wed, 22 Nov 2000 11:33:07 -0000
> 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() &lt; 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


Current Thread
  • counting?
    • Jason Russ - Tue, 21 Nov 2000 17:08:35 -0500
      • <Possible follow-ups>
      • Kay Michael - Wed, 22 Nov 2000 11:33:07 -0000 <=