[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Must You Specify mixed="true" on extended types?

From: Eliot Kimber <ekimber@innodata-isogen.com>
Date: Thu, 08 Sep 2005 15:50:57 -0500
Message-ID: <4320A431.1090406@innodata-isogen.com>
To: xml-schema-dev <xmlschema-dev@w3.org>
Must You Specify mixed="true" on extended types?

I have declarations of the form:

<xs:complexType name="SomeType">
   <xs:complexContent mixed="true">
     <xs:sequence>
       <xs:element ref="ns:someElement"/>
     </xs:sequence>
   </xs:complexContent>
</xs:complexType>

<xs:element name="an-element">
   <xs:complexType>
     <xs:complexContent>
       <xs:extension base="SomeType">
         <xs:attribute name="newatt" type="xs:string"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
</xs:element>

Xerces 2.6 and 2.7 both pass this, as does oXygen (which I believe uses 
Xerces for schema processing). An older version of Stylus Studio throws 
an error, saying that the extended type (an-element) must specify 
mixed="true" or the base type must specify mixed="false".

A reading of "Schema Component Constraint: Derivation Valid (Extension)" 
suggests that Stylus is in fact correct:

"1.4.3.2.2.1 Both {content type}s must be mixed or both must be 
element-only."

But I wanted to make sure, because I would have expected the value for 
"mixed" to be inherited from the base type for extensions, regardless of 
what the nominal default value of the "mixed=" attribute is.

That is, it feels like "Simon Says" behavior to have to specify 
mixed="true" for extensions when the base complex type specifies 
mixed="true". Obviously, specifying mixed="false" when the base type 
specifies mixed="true" would be an error. But if the extending type 
specifies nothing for mixed, it should reflect the value specified for 
the base type.

Also, if this is required by the spec, then Xerces appears to not be 
validating it all, because in my tests it didn't catch the case where 
two declarations explicitly disagree on the value for mixed=.

Thanks,

Eliot
-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8155

ekimber@innodata-isogen.com
www.innodata-isogen.com
Received on Thursday, 8 September 2005 20:48:51 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.