[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] two predicates and position


Subject: RE: [xsl] two predicates and position
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Fri, 19 Dec 2003 18:22:21 -0000

> I am trying to construct an xpath expression which will select the 
> second matching node of a nodelist.
> 
> I have:
> //org[@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[@department='Foo'/self::node()[position() = 2] which 
> will always 
> be empty.

No, it is actually behaving as

/descendant-or-self::node/(child::org[@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)[@department='Foo'][2]

Michael Kay


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



Current Thread
Keywords