Hi Sebastian,
In my Basex 9.0.1 and 8.6.7 you get two "true".
Best, Giuseppe
Universität Leipzig Institute of Computer Science, NLP Augustusplatz 10 04109 Leipzig Deutschland E-mail: celano@informatik.uni-leipzig.de E-mail: giuseppegacelano@gmail.com Web site 1: http://www.dh.uni-leipzig.de/wo/team/ Web site 2: https://sites.google.com/site/giuseppegacelano/
On May 11, 2018, at 1:50 AM, Sebastian Zimmer sebastian.zimmer@uni-koeln.de wrote:
Hi,
I have this script where I use the lookup operator to perform a unary lookup:
xquery version "3.1"; declare namespace array = "http://www.w3.org/2005/xpath-functions/array" http://www.w3.org/2005/xpath-functions/array;
let $array := []
return ( empty($array!?*), (: returns false :) empty( for $i in 1 to array:size($array) return $array($i) ) (: returns true :) ) I'm curious that the first expression returns false even though it should be equivalent to the second expression, if I read the XQuery spec [1] right:
If the context item is an array: If the KeySpecifier https://www.w3.org/TR/2017/REC-xquery-31-20170321/#doc-xquery31-KeySpecifier is a wildcard ("*"), the UnaryLookup https://www.w3.org/TR/2017/REC-xquery-31-20170321/#doc-xquery31-UnaryLookup operator is equivalent to the following expression: for $k in 1 to array:size(.) return .($k) But maybe I'm missing something. I'd be glad if you could help. Best regards, Sebastian Zimmer [1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup -- Sebastian Zimmer sebastian.zimmer@uni-koeln.de mailto:sebastian.zimmer@uni-koeln.de <cceh-logo-cyan.png> http://cceh.uni-koeln.de/ Cologne Center for eHumanities http://cceh.uni-koeln.de/ DH Center at the University of Cologne <twitter_logo.png> https://twitter.com/CCeHum@CCeHum https://twitter.com/CCeHum