This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Consider the type-checking of fn:data(()) (i.e. fn:data on empty sequence) statEnv |- data on prime(Type) : Type1 -------------------------------------------- statEnv |- (FN-URI,"data")(Type) : Type1 ยท quantifier(Type) Type = empty Type 1 = data on prime(empty) = data on (none) = none Surely fn:data(()) should typecheck as empty?
I suspect that: prime(empty) = empty and not prime(empty) = none as specified in http://www.w3.org/TR/xquery-semantics/#jd_prime
I believe despite being odd, this definition is actually correct. The prime function computes the item types for a given type. there is none for the empty type. when computing the factorization for empty the rules will be applied as follows: prime(empty) = none quantifier(empty) = ? prime(empty) . quantifier(empty) = none? = none | empty = empty which should be the expected result. - Jerome
Thanks. That clears that up.
Tim, Thank you for your comment. The XSLT and XML Query working groups have decided to close this comment with no further action. Best, - Jerome On behalf of the XSLT and XML Query WGs