[xsl] Re: accessing node by position

Subject: [xsl] Re: accessing node by position
From: "Vincent Finn" <vincent.finn@xxxxxxxxxxxxx>
Date: Fri, 21 May 2004 10:41:00 +0100
On Wed, 19 May 2004 11:14:56 +0100, David Carlisle <davidc@xxxxxxxxx> wrote:

>
>  I need to access an xml value by it's position.
>  can this be done (or is there a better way to do it)
>
>
>to access the 3rd foo element just do 
>foo[3]
>
>  <xsl:value-of select="../../../columns/column(position())/type"/>
>
>You need square brackets not round, and you want to evaluate position()
>in the current node list _before_ you start this xpath as it's the
>current position that you want, so
>
>
><xsl:variable name="x" select="position()"/>
><xsl:value-of select="../../../columns/column[$x]/type"/>
>
>Of course for $x to have teh right value you need to make sure that your
>current node list only has cell nodes, if you just do an
><xsl:apply-templates/>
>rather than
><xsl:apply-templates select="cell"/>
>on the row element then your current node list will include white space
>text nodes and so the position of teh cell elements will be
>2,4,6,... not 1,2,3,...
>
>David

Perfect, thanks
	Vin

------------------------------------------------------------------------
vincent.finn@xxxxxxxxxxxxx
------------------------------------------------------------------------
My opinions may have changed, but not the fact that I am right.
------------------------------------------------------------------------

Current Thread