- From: Sandy Gao <sandygao@ca.ibm.com>
- Date: Fri, 3 Feb 2006 09:53:03 -0500
- To: Joe Pallas <pallas@cs.stanford.edu>
- Cc: xmlschema-dev@w3.org
- Message-ID: <OF5E955881.4C1D9142-ON8525710A.00511916-8525710A.0051C6DB@ca.ibm.com>
> Now, it is certainly the case that ExtendedType's content is actually > simple, not complex, ... If you look at the mapping rules for complex types [1] ({content type} for <complexContent> with <extension>), it's clear that the {content type} of "ExtendedType" is element-only and a particle (clause 3.2.3). > I looked at the complex type derivation constraints in the spec, and > I couldn't find a violation. Look at constraint "Derivation Valid (Extension)" [2], clause 1.4. This clearly rules out the case where the base's {content type} is a simple type definition (in your case "string") and the derived (extended) type has {content type} element-only. [1] http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#declare-type [2] http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#cos-ct-extends Thanks, Sandy Gao XML Parser Development, IBM Canada (1-905) 413-3255 sandygao@ca.ibm.com xmlschema-dev-request@w3.org wrote on 02/02/2006 04:35:39 PM: > > I got handed a schema that contains (stripped down to the bare > essentials) this: > > <schema targetNamespace="http://example.com/myExample" > xmlns:tns="http://example.com/myExample" xmlns="http://www.w3.org/ > 2001/XMLSchema" elementFormDefault="qualified" > attributeFormDefault="unqualified"> > > <complexType name="BaseType" abstract="true"> > <simpleContent> > <extension base="string"> > <attribute name="myAttr" use="optional"/> > </extension> > </simpleContent> > </complexType> > > <complexType name="DerivedType"> > <simpleContent> > <extension base="tns:BaseType"/> > </simpleContent> > </complexType> > > <complexType name="ExtendedType"> > <complexContent> > <extension base="tns:DerivedType"> > <attribute name="anotherAttr" type="boolean" use="optional"/> > </extension> > </complexContent> > </complexType> > > </schema> > > XSV complains about ExtendedType, saying: attempt to derive a complex > basetype from a simple base: DerivedType. > > Now, it is certainly the case that ExtendedType's content is actually > simple, not complex, so simpleContent would be more appropriate. But > I can't figure out where in the rec it actually says that this is not > legal. > > I found a discussion of what seems to be exactly this issue in the > archives. The last word in that discussion was <http://lists.w3.org/ > Archives/Public/xmlschema-dev/2002Aug/0059.html>, which said "I think > you're right that this is legal." > > I looked at the complex type derivation constraints in the spec, and > I couldn't find a violation. So, this may be bad style, but why is > it rejected? > > Thanks. > joe > > >
Received on Friday, 3 February 2006 14:53:07 UTC