[xquery-talk] Position operator
Philippe Michiels
philippe.michiels at gmail.com
Mon Jan 23 09:36:11 PST 2006
That's because the semantics of doc("book.xml")//title[1] corresponds with
doc("book.xml")/descendant-or-self::node()/child::title[1]
So you're asking for the first title-child of all descendant-or-self nodes of
the root.
However, (doc("book.xml")/descendant-or-self::node()/child::title)[1], first
evaluates the expression between parenthesis and then takes only the first
element of the result sequence.
-Ph
On Monday 23 January 2006 09:22, Ronald Bourret wrote:
> I'm missing something obvious here.
>
> Suppose book.xml contains multiple title elements. Why does:
>
> doc("book.xml")//title[1]
>
> return a sequence of all title elements and:
>
> (doc("book.xml")//title)[1]
>
> return the first title element? I would have thought both queries would
> return the first title element.
>
> Thanks,
>
> -- Ron
>
> _______________________________________________
> talk at xquery.com
> http://xquery.com/mailman/listinfo/talk
More information about the talk
mailing list