[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


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.


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