- From: <bugzilla@jessica.w3.org>
- Date: Fri, 26 Nov 2010 19:18:36 +0000
- To: www-xml-schema-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11335 --- Comment #7 from C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> 2010-11-26 19:18:36 UTC --- Mukul Gandhi's remarks have been helpful to me in drawing my attention to a flaw in the current formulation of section 2.4.4: the distinction between built-in and user-defined datatypes assumes that all datatypes are either defined in this spec or defined by the authors of individual schemas, and that the first is what we mean by 'built-in' datatypes. Even in 1.0, a schema processor is allowed to have automatic knowledge of types other than those defined in the spec; users of such processors may well feel that they are obviously built-in, in any ordinary-language use of the term, but in the XSD spec 'built-in' is a technical term and it does not always have its ordinary-language meaning. In 1.1, however, implementations are allowed to provide additional primitive types, and ipso facto they are allowed, if they wish, to pass this freedom on to their users. If a schema processor wishes to define a mechanism for defining new primitive types and allow its users to deploy that mechanism, then it would not be unreasonable to regard those new primitives as user-defined types. But as primitive types, they will typically need to have anyAtomicType as their base type. Such user-defined primitives are not meant to be included in the prohibition on user-defined types having anyAtomicType as their base, but it does suggest the need for some thinking about our categories and the terms we use for them. I think that what is meant by the sentence quoted in the description of the issue is that user-defined ordinary datatypes cannot have anyAtomicType as their base. This follows, I think, from the fact that no ordinary datatype can have anyAtomicType as its base: they are either restrictions of primitives or other ordinary datatypes, or they are constructions by list or union, which have anySimpleType as their base type. The statement seems to take as a premise that users can only define ordinary datatypes. That's true in XSD as a host language for Datatypes, but nothing in Datatypes requires host languages to use XSD simple type definitions to describe datatypes, and I don't believe anything in Datatypes forbids host languages to allow users to define new 'primitive' types which have anyAtomicType as their base type. If the sentence in question is just trying to make explicit something that readers would otherwise have to glean indirectly from the spec, then we should recast it to be clearer and more correct, perhaps in non-normative words. If it's essential that the statement be normative, we need to figure out just how to phrase it, given that other host languages are allowed to provide new primitives, and may choose to allow user-specified primitives. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Friday, 26 November 2010 19:18:38 UTC