Re: [xsl] finding the position of a node within a node set

Subject: Re: [xsl] finding the position of a node within a node set
From: Wolfhart Totschnig <wolfhart@xxxxxxxxxxxxx>
Date: Sun, 26 Aug 2012 04:34:16 -0500
Thank you, Ihe and Michael! The index-of function is what I was looking for.
Wolfhart


On 8/26/12 3:19 AM, Michael Kay wrote:

On 26/08/2012 09:07, Michael Kay wrote:

On 26/08/2012 07:49, Ihe Onwuka wrote:
Assuming Xpath 2.0 take a look at the index-of function.



No, index-of() is no use because it compares nodes by value rather than by identity.


I overlooked that what you are trying to do is to get the position of the node with a given @id value, rather than a node whose identity is known ($node).

In XPath 2.0, if every node has an @id attribute, and if the nodes are in document order, you could use

index-of($nodes/@id, 'foo')

If some nodes have no id attribute, or if you want to avoid sorting the nodes into document order, you could vary this to

index-of($nodes/string(@id), 'foo')

Michael Kay
Saxonica

Current Thread