Re: Non-primitive built-in simple types

[Apologies for the slow response; your mail did not
appear on the list until today, owing to undiagnosed
problems in the list moderation system.]

On Tue, 2005-07-26 at 07:17, Alain Frisch wrote:
> 
> 
> Hello,
> 
> I'd need some clarification about the status of non-primitive built-in 
> simple types.
> 
> Reading paragraph 2.5.3 of XML Schema Part 2, I thought that these types 
> were only predefined for convenience, which means that equivalent types 
> could be defined by users. Now, a closer look at the definition for e.g.
> integer makes me believe this is not the case:
> 
> <<
> integer is ·derived· from decimal by fixing the value of 
> ·fractionDigits· to be 0and disallowing the trailing decimal point.
>  >>
> 
> (btw, there is a missing whitespace after 0)
> 
> The facet fractionDigits only restricts the value space, not directly 
> the lexical space, so setting it to 0 does not disallow the trailing 
> decimal point. This could be done using the pattern facet, but the 
> definition does not mention this facet.
> 
> So, I guess my question is: Are derived built-in types really
> conceptually the same as user-derived types, or is there some additional 
> magic in their definition?

In principle, the goal is to eliminate magic in the
non-primitive built-in types as far as possible.  In
practice, here and in some other places the goal seems
not to have been achieved.

Speaking for myself, I am inclined to think that the
WG should systematically ensure that the prose descriptions
and the formal definitions of the ordinary non-primitive
types are consistent with each other, either by adding
pattern facets or by changing the prose.

In this case, I think the right thing to do is probably
to add the pattern facet.  In the related case of 
unsignedLong and its descendants, I am inclined to think
the right thing to do is to correct the prose.

-C. M. Sperberg-McQueen
 World Wide Web Consortium

Received on Tuesday, 26 July 2005 13:55:47 UTC