> While the XML Schema Datatypes document has defined such canonical
> lexical representation for the built-in types I haven't found a
> place where it specifies how the canonical lexical representation
> for a user defined datatype is determined or whether it has such one
> (as with "MyInteger" in my case).


I think you've found a hole in the spec.

From my experience working on Schema and as a member of the Schema working group, I believe the intention is that the value->canonical mapping is inherited if you derive a type from its base type. Or we can look at it from a different angle: the canonical mapping is specified on the "value", not the type. Because your own type's values are the same as those in the base type, the corresponding canonical mapping stays the same.

The only exception to this rule is the derivation between "decimal" and "integer" [1], where the canonical mapping changed: decimal point is not allowed in integer's lexical space (hence canonical values).

[1] http://www.w3.org/TR/xmlschema-2/#integer

Thanks,
Sandy Gao
XML Parser Development, IBM Canada
(1-905) 413-3255
[EMAIL PROTECTED]

Reply via email to