[xquery-talk] xs:error and AbstractTypes
Adam Retter
adam.retter at googlemail.com
Sat Jan 12 01:22:55 PST 2019
Whilst looking for a type which is declarable in XQuery but that
cannot be constructed, I wrote a strange query, well to me anyway,
which evaluates on Saxon 9.8.0.12 PE, and returns <hello/>.
declare function local:test1($x as xs:error) {
<hello/>
};
local:test1(())
You can also modify the query so the parameter has one-or-mode
cardinality e.g. "$x as xs:error+", and it will still evaluate with an
empty sequence as the argument. I believe that this is because
xs:error is always an empty type.
BaseX and eXist-db both refuse to evaluate the query, saying that the
type xs:error is unknown.
Am I right in thinking that Saxon evaluates this because it supports
[Schema 1.1 Part 2], whereas eXist-db and BaseX do not?
Also if anyone has any bright ideas, about a type that I could
explicitly declare for a function argument, but that CANNOT be
constructed within XQuery, I would be interested to know. I think
Union types are out as I want to support all processors (i.e. not
require Schema support).
So far I haven't seen anything...
--
Adam Retter
skype: adam.retter
tweet: adamretter
http://www.adamretter.org.uk
More information about the talk
mailing list