Get Nth child of a node using xpath

My sample input XML is:

<root>
 <a>
   <b>item</b>
   <b>item1</b>
   <b>item2</b>
   <b>item3</b>
   <b>item4</b>
 </a>
</root>

I am suppose to select a node b whose position is the value of a variable.

How can I use the value of a variable to test the position of a node?


Solution 1:

you can use this:

/root/a/b[position()=$variable]

position() is 1 based

http://saxon.sourceforge.net/saxon6.5.3/expressions.html

Solution 2:

The following should work:

/root/a/b[2]

And if it doesn't, try:

/root/a/b[position()=2]