Subject: RE: [xsl] counting the element number in a recursive tree From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 26 Jun 2006 12:24:40 +0100 |
If position() returns even numbers, it's because you are counting text nodes as well as elements. The answer is to count only the elements, which will happen if you use <xsl:for-each select="*"> or <xsl:apply-templates select="*"> rather than using select="node()". Dividing position() by 2 is wrong, because the whitespace text nodes won't always be there. Alternatively, use xsl:number. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Mohsen Saboorian [mailto:mohsens@xxxxxxxxx] > Sent: 26 June 2006 12:06 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] counting the element number in a recursive tree > > Hi, > I'm confused with counting the current element number with a > recursive xml structure. Here is a sample: > <node> > <node> > </node> > <node> > <node> > <node> > </node> > </node> > </node> > <node> > </node> > </node> > > = = = = = = = = = > Since position() returns even numbers (I think is counts also > #text elements), I used position div 2, but unfortunately > deeper nodes also have problems. > > <xsl:template match="node"> > <xsl:value-of select="position() div 2" /> > > <xsl:apply-templates /> > </xsl:template> > > What souled I do to find out the correct number of node I'm > currently on. > > Thanks in advance.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] counting the element numb, David Carlisle | Thread | Re: [xsl] counting the element numb, Mohsen Saboorian |
Re: [xsl] counting the element numb, David Carlisle | Date | RE: [xsl] problem with unc relative, Michael Kay |
Month |