[xquery-talk] index-of() behavior
Joe Wicentowski
joewiz at gmail.com
Thu Mar 19 11:28:19 PST 2009
Hi all,
Can anyone shed some light on the following question? I'm trying to
use fn:index-of() to derive the sequential appearance of elements --
in this case, I have 2 <y> elements, and I want index-of() to return
the values 1 and 2:
<results>{
let $content :=
<x>
<y n="1">z</y>
<y n="2">z</y>
</x>
for $child in $content/y
let $index := fn:index-of($content/y, $child)
return
<result>{$index}</result>
}</results>
I expected this to return:
<results>
<result>1</result>
<result>2</result>
</results>
but instead it returns:
<results>
<result>1 2</result>
<result>1 2</result>
</results>
If, on the other hand, I change $content to
<x>
<y n="1">z1</y>
<y n="2">z2</y>
</x>
Then I get my desired result. Shouldn't fn:index-of() index against
the unique <y> nodes rather than their text content? I've tested this
in eXist 1.3 and in oXygen (using Saxon 9).
Thanks,
Joe
More information about the talk
mailing list