[xquery-talk] Construct the absolute xpath (with node position)

Vallone, Philip Mr CTR USA AMC Philip.Vallone at us.army.mil
Tue Jun 17 12:56:29 PDT 2008


Hi, is it possible to construct the absolute xpath (with node position)
from an xquery expression?

Take the following XML:

<root>
	<item>
		<para>hello</para>
		<para>goodbye</para>
	</item>
	<item>
		<para>hello</para>
		<para>goodbye</para>
		<para>end</para>
	</item>
	<item>
		<para>hello</para>
		<para>middle</para>
		<para>goodbye</para>
	</item>
</root>

Take the following xquery:

for $path in //item/para
let $xpath := $path/string-join(ancestor-or-self::*/name(), '/')
return
<out>{$xpath}</out>

Which returns:

<out>root/item/para</out>
<out>root/item/para</out>
....


Is it possible to construct an xquery expression to output the xpath
with node position:

<out>/root/item[1]/para[1]</out>
<out>/root/item[1]/para[2]</out>
<out>/root/item[2]/para[1]</out>
<out>/root/item[2]/para[2]</out>
<out>/root/item[2]/para[3]</out>
<out>/root/item[3]/para[1]</out>
<out>/root/item[3]/para[2]</out>
<out>/root/item[3]/para[3]</out>

Thanks for the help.

Phil	



More information about the talk mailing list