[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
surprising xs:complexContent vs. xs:simpleContent
- From: Webb Roberts <strebor@gmail.com>
- To: xml-dev@lists.xml.org
- 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]