[xsl] Using XPath to retrieve nodes by attribute.

Subject: [xsl] Using XPath to retrieve nodes by attribute.
From: "Manuel Reyes" <Manuel.Reyes@xxxxxxxxx>
Date: Thu, 29 Apr 2004 14:10:39 +0100
Hello all,

I have the following XML document:

<xml>
	<AAA>foo</AAA>
	<BBB>bar</BBB>
	<CCC>
		<DDD attrib="123">quick</DDD>
		<DDD attrib="456">brown</DDD>
		<DDD attrib="789">fox</DDD>
		<DDD attrib="123">jumped</DDD>
		<DDD attrib="456">lazy</DDD>
		<DDD attrib="789">dog</DDD>
	</CCC>
</xml>

If I run the following XPath query it returns the count of all nodes in
CCC that have an attrib value of "123":

xml/CCC/DDD[@attrib='123'] = 2

What I am trying to do now is retrieve a particular node based on the
position in the CCC node and its attribute, something like this:

xml/CCC/DDD[@attrib='123'][1] = quick
xml/CCC/DDD[@attrib='456'][1] = brown
xml/CCC/DDD[@attrib='456'][2] = lazy

This is based on information I found here:
http://www.w3schools.com/xpath/xpath_location.asp

Unfortunately this does work, can anybody tell me where I am going wrong

Thanks
Manuel

Current Thread