From the XPath specification:

- child::* selects all element children of the context node

- child::text() selects all text node children of the context node

- child::node() selects all the children of the context node, whatever their node type

Since "child" is the default axis, you can omit it. Thus, $expr/* will only return element children, as you have seen. If you want all children, use $expr/node(). If you only want text children, use $expr/text().

-- Ron

On 11/9/2017 10:27 AM, Gary Larsen wrote:
Hi,

Trying to process both node and text children in a for loop.  For some reason this escapes me.

let $expr := <expression><refobj>REFOBJ1</refobj>TEXT1<refobj>REFOBJ2</refobj></expression>

for $x in $expr/* return $x

This returns:

<refobj>REFOBJ1</refobj>
<refobj>REFOBJ2</refobj>

How do I access TEXT1 in a loop?

Thanks,

Gary



_______________________________________________
talk@x-query.com
http://x-query.com/mailman/listinfo/talk

_______________________________________________
talk@x-query.com
http://x-query.com/mailman/listinfo/talk

Reply via email to