[Home] [By Thread] [By Date] [Recent Entries]

  • From: Webb Roberts <strebor@g...>
  • To: xml-dev@l...
  • Date: Mon, 11 May 2009 17:17:00 -0400

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]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member