[Bug 4551] K-NormalizeUnicodeFunc-13

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4551





------- Comment #3 from tim@cbcl.co.uk  2007-05-31 09:32 -------
I'm now less convinced that

("a string", error())

is of type xs:string.  In FS 8.4

quantifier(none) = 1

The type none matches no values, therefore from the FS rules in 8.3.1 Matches
and 8.3.2 Subtyping (<:) there is no rule:

--------------------------------
statEnv |-  error() matches none

therefore we can't apply:

statEnv |-  Value1 matches Type1
statEnv |-  Value2 matches Type2
---------------------------------------------
statEnv |-  Value1,Value2 matches Type1,Type2

so we have to deduce that whatever type (xs:string, none) is, it certainly
isn't a subtype of xs:string.  All we can say is that it is of type (xs:string,
none), which is roughly xs:string+.

Therefore this test should allow for a type checking error as well as the error
thrown by error().  Quite a few of the tests use a similar construct, so will
also need to permit a type check error.

As an aside, I do find it a little strange that (Type|none) = Type _and_
quantifier(none) = 1.  It almost seems as if a type which matches no values
should have the unusual quantifier of zero.

Received on Thursday, 31 May 2007 09:32:17 UTC