[Home] [By Thread] [By Date] [Recent Entries]
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] |

Cart



