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