[xquery-talk] Error when using predicate after arrow operator
John Snelson
John.Snelson at marklogic.com
Thu Apr 13 12:44:01 PDT 2017
The equivalence holds for how it functionally behaves, not for what
grammar the parser allows. You need parentheses:
("1.2.3" => tokenize("\."))[. < "3"]
John
On 13/04/2017 20:09, Joe Wicentowski wrote:
> Hi all,
>
> As I understand the arrow operator
> (https://www.w3.org/TR/xquery-31/#id-arrow-operator), the following
> query:
>
> "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")
>
> Thanks,
> Joe
> _______________________________________________
> talk at x-query.com
> http://x-query.com/mailman/listinfo/talk
--
John Snelson, Principal Engineer http://twitter.com/jpcs
MarkLogic Corporation http://www.marklogic.com
More information about the talk
mailing list