This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: counter
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: counter
- From: Kay Michael <Michael dot Kay at icl dot com>
- Date: Tue, 20 Jun 2000 14:36:37 +0100
- Reply-To: xsl-list at mulberrytech dot com
>Is there some way of using a counter in XSL? I have a list of items, and
>I'd like some extra text to be printed after every 50th item.
>The only things which I've found which look to do this are xsl:counter and
>xsl:counter-reset, but these always seem to be unrecognised by whatever
>XML/XSL parser I use.
You're reading a very old version of the spec. XSLT 1.0 has no updateable
variables of any kind.
You have a grouping problem: see the FAQ under sorting and grouping. The way
to print something every fifty <item> elements is:
<xsl:template match="item[position() mod 50 = 1]">
<fifty-items>
Here's the next 50:
<xsl:for-each select=". | following-sibling::item[position() < 50]">
<item><xsl:value-of select="."/></item>
</xsl:for-each>
</fifty-items>
</xsl:template>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list