RE: [xsl] Getting first child node postion with condition

Subject: RE: [xsl] Getting first child node postion with condition
From: Julien Flotté <julien_flotte3@xxxxxxxxxxx>
Date: Fri, 08 Jun 2007 10:16:32 +0000
Thanks for your response, it works perfectly.

Cordially,
julien Flotti.

From: "Michael Kay" <mike@xxxxxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: [xsl] Getting first child node postion with condition
Date: Fri, 8 Jun 2007 10:19:31 +0100

position() does not return the position of a selected node in the tree, it
returns the position of the current node within the list of nodes that are
currently being processed. You want either count() or xsl:number.

The simplest solution here is XSLT 2.0:

<xsl:number select="leaf[@attrib='true'][1]"/>

The equivalent in 1.0 is:

<xsl:for-each select="leaf[@attrib='true'][1]">
  <xsl:number/>
</xsl:for-each>

Or you can use count():

count(leaf[@attrib='true'][1]/preceding-sibling::leaf)+1

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Julien Flotti [mailto:julien_flotte3@xxxxxxxxxxx]
> Sent: 08 June 2007 10:09
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Getting first child node postion with condition
>
> Hi,
> I'm a french student in training course.
> I make development in xslt and I encounter the following problem :
>
> My xml file :
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <tree>
> <leaf attrib = 'false'>Leaf1</leaf>
> <leaf attrib = 'true'>Leaf2</leaf>
> <leaf attrib = 'true'>Leaf3</leaf>
> </tree>
>
> When I'm in the "tree" template, I want to get the position
> of the first child node with the attribute "attrib" equals
> "true" but I don't succeed.
>
> I attempt to use the postion function but it doesn't work :
> leaf[@attrib = 'true'][postion()] returns the value of the first child
> (Leaf2) but not its position.
>
> Is there a way to to that correctly ?
> Cordially,
> Julien Flotti.
>
> _________________________________________________________________
> Gagnez des pc Windows Vista avec Live.com http://www.image-addict.fr/


_________________________________________________________________
Windows Live Spaces : criez votre blog ` votre image ! http://www.windowslive.fr/spaces


Current Thread