xsl-list
[Top] [All Lists]

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

2012-08-26 03:19:52

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



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--