XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
surprising xs:complexContent vs. xs:simpleContent

I was hoping to achieve some clarity what seems like a strange feature
of XML Schema 1.0.

It appears that XML Schema allows one to use xs:complexContent to
create complex types that have simple content, instead of having
complex content.  In the case below, the complex type "derivedType"
(which uses xs:complexContent) actually defines a complex type with
simple content (simple type "xs:integer").

It looks like the XML Schema specification uses a concept of
"effective content" that is defined without consideration of the use
of xs:simpleContent or xs:complexContent.

It certainly is not what I expected.  Does this look sensible to you?

This example validates under Xerces-J 2.9.1.

<complexType name="baseType">
  <simpleContent>
    <extension base="xsd:integer">
      <attribute name="baseAttribute" use="required"/>
    </extension>
  </simpleContent>
</complexType>

<complexType name="derivedType">
  <complexContent>
    <extension base="this:baseType">
      <sequence>
      </sequence>
      <attribute name="derivedAttribute" use="required"/>
    </extension>
  </complexContent>
</complexType>

<element name="derived" type="this:derivedType"/>

A valid instance of this schema:

<derived xmlns="http://ittl.gtri.gatech.edu/wr24/2009-05-11-1147";
      baseAttribute="hello"
      derivedAttribute="goodbye"
  >14</derived>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS