At 11:59 AM 3/6/2003, you wrote:
I think this'll work, I've done something similar:
<xsl:template match="category">
<xsl:variable name="iteration">
<xsl:number />
</xsl:variable>
<xsl:value-of select="iteration" />
</xsl:template>
number will be incremented every time that template executed (at least it
works with MSXML 4).
Not really. Really, a number will be assigned based on the position of the
counted node in the source tree. Unless it says otherwise, the node counted
by an <xsl:number/> instruction is the current node (here the <category>).
Here it works because the nodes are processed in (or as if they were in)
document order.
To see what I mean and why it may matter, consider what should happen if
the apply-templates that invokes this template sorts the nodes, as in:
<xsl:apply-templates select="category">
<xsl:sort select="."/>
</xsl:apply-templates>
...and then try it and see...
(Nonetheless: using <xsl:number/> to assign a number is often a good way to
achieve a goal for which you'd use a counter in another language: about
that Craig is perfectly correct.)
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list