[xquery-talk] Error when using predicate after arrow operator

Joe Wicentowski joewiz at gmail.com
Thu Apr 13 12:09:32 PDT 2017

Hi all,

As I understand the arrow operator
(https://www.w3.org/TR/xquery-31/#id-arrow-operator), the following

  "1.2.3" => tokenize("\.")

is equivalent to:

   tokenize("1.2.3", "\.")

If this is so, then can anyone shed light on why appending a predicate
to the former would raise an error but not so for the latter?  In
Saxon, eXist, and BaseX, the following expression:

  "1.2.3" => tokenize("\.")[. < "3"]

raises an error like:

  XPST0003: Unexpected token "[" beyond end of query

whereas the pre-XQuery 3.1 approach:

   tokenize("1.2.3", "\.")[. < "3"]

returns the results I'd expect:

  ("1", "2")


More information about the talk mailing list