- From: trubliphone <trubliphone@googlemail.com>
- Date: Wed, 29 Sep 2010 09:58:14 -0700
- To: xmlschema-dev@w3.org
- Message-ID: <AANLkTikf4nFw2Jh3GfM8sOUEiN1p+GfJ2LYEu1zheHxU@mail.gmail.com>
Hello. I have two complexTypes, one of which extends the other, and both
which have a sub-element with the same name. However, the details of that
element (type, min/maxOccurs,, etc.) can vary. In this example below,
"parent" must have one "subElement" and "child" must have two:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="ParentClass">
<xs:sequence>
<xs:element name="subElement" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ChildClass">
<xs:complexContent>
<xs:extension base="ParentClass">
<xs:sequence>
<xs:element name="subElement" minOccurs="2"
maxOccurs="2"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="parent" type="ParentClass"/>
<xs:element name="child" type="ChildClass"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
However, when I create an XML file, "child" actually has three
"subElements:" one from the "ParentClass" it extends and the two it defines
itself. Does anybody know a way around this? I am basically hoping for an
"oo-style" solution, where the child's sub-element _overrides_ the parent's
sub-element of the same name. Is that possible in XSD?
Thanks.
Received on Wednesday, 29 September 2010 17:12:55 UTC