xsl-list
[Top] [All Lists]

RE: The right way to count from inside a match template

2005-03-09 12:47:26
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>