xsl-list
[Top] [All Lists]

RE: two predicates and position

2003-12-19 11:22:21
I am trying to construct an xpath expression which will select the 
second matching node of a nodelist.

I have:
//org[(_at_)department='Foo'][2]

I expected that to select all //org nodes where @department = 
'Foo' and 
then give me the second within that set.

however this is behaving as
//org[(_at_)department='Foo'/self::node()[position() = 2] which 
will always 
be empty.

No, it is actually behaving as

/descendant-or-self::node/(child::org[(_at_)department='Foo'][2])

that is, it will select every org that is the second child of its parent
that has @department foo.

You probably want (//org)[(_at_)department='Foo'][2]

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>