- From: Sandy Gao <sandygao@ca.ibm.com>
- Date: Fri, 6 Jun 2003 14:27:05 -0400
- To: www-xml-schema-comments@w3.org
Consider <complexType name="derived" mixed="false"> <complexContent mixed="false"> <extension base="base"/> </complexContent> </complexType> where "base" is a complex type whose {content type} is a simple type definition. Then according to structure 3.4.2, "derived" has the same content type as base, which is a simple type definition. But it specified <complexContent> explicitly, and mixed = false. This seems confusing. And if mixed was true on <complexType> and <complexContent>, then the rule actually says that "derived" has a content of a sequence of an empty sequence, following the particle from "base". But "base" doesn't have a particle. (Rules from 3.4.6 says this is invalid, but those are at the component level. Here we are talking about the mapping.) IMO, it shouldn't be allowed for <complexContent> to extend a complex type with simple content. That is, change bullet 1 of the constraint "Complex Type Definition Representation OK" [1] to 1 If the <complexContent> alternative is chosen, then all of the following must be true: 1.1 The type definition ·resolved· to by the ·actual value· of the base [attribute] must be a complex type definition; 1.2 If the <extension> alternative is also chosen, then the type definition ·resolved· to by the ·actual value· of the base [attribute] must not be a complex type definition whose {content type} is a simple type definition; [1] http://www.w3.org/XML/Group/2002/09/xmlschema-1/structures-with-errata.html#src-ct Thanks, Sandy Gao Software Developer, IBM Canada (1-905) 413-3255 sandygao@ca.ibm.com
Received on Friday, 6 June 2003 14:27:40 UTC