The simplest way is just <xsl:number/> with no attributes.
In most cases you can also use position() - but the value of position()
depends on how the template was invoked. If it was invoked by
<xsl:template match="root">
<xsl:apply-templates select="a"/>
</xsl:template>
then position() will give you the answer you want; but if it was
<xsl:template match="b">
<xsl:apply-templates select=".."/>
</xsl:template>
then it won't.
count(preceding-sibling::a)+1 should also work.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: nutdev2002 [mailto:nutdev2002(_at_)log1(_dot_)net]
Sent: 09 March 2005 19:00
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] The right way to count from inside a match template
Dear All,
I am sure this is a old chestnut of a question, but I just cannot get
it to work.
I have an xsl which is something like this:
<root>
<a><b>lots of stuff</b></a>
<a><b>lots of stuff</b></a>
<a><b>lots of stuff</b></a>
<a><b>lots of stuff</b></a>
<a><b>lots of stuff</b></a>
<a><b>lots of stuff</b></a>
<a><b>lots of stuff</b></a>
</root>
and I have a template
<xsl:template match="a">
<!--Show which element I on using-->
<!--display lots of stuff-->
</xsl:template>
For the <!--Show which element I on using--> I am trying various
different combinations
of <xsl:number value="something">
I have tried counting preceding siblings, position and several other
things, and I only ever get
a 1.
I would be really grateful if you could tell me What is the
right way to
show 1,2,3,4,5 and then contents of each 'a´ element within the
template.
Thanks very much in advance,
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--