Subject: RE: [xsl] Getting first child node postion with condition From: "Michael Kay" <mike@xxxxxxxxxxxx> 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/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Getting first child node post, Julien Flotté | Thread | RE: [xsl] Getting first child node , Julien Flotté |
[xsl] Getting first child node post, Julien Flotté | Date | Re: [xsl] Indesign table to HTML ta, e107lac |
Month |