I do not understand the behaviour of certain function is xml processing.
My problem is finding the position of the current node, for example with <A><B><A> I would like to see the first <A> resulting in 1 and the second in 2.
The result of some experiments:

return=[\xmlfilter{#1}{../tag()}] returns the parent tag, in this case [setup] as expected
return=[\xmlfilter{#1}{./tag()}] returns the tag, in this case [example] as expected
return=[\xmlfilter{#1}{../position()}] returns [] i.e. returns nothing expecting a number
return=[\xmlfilter{#1}{./position()}] returns [] i.e. returns nothing expecting a number
return=[\xmlfilter{#1}{../index()}] returns [0] expecting a number larger than 0
return=[\xmlfilter{#1}{./index()}] returns [0] expecting a number larger than 0

dr. Hans van der Meer