XML Tutorial/XML Schema/substitutionGroup
Using Substitution Groups to Handle Choice Between Elements
<source lang="xml">
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru" elementFormDefault="qualified"> <xs:element name = "Garment" type = "MyType" abstract="true" /> <xs:element name = "TShirt" type = "MyType" substitutionGroup = "Garment" /> <xs:complexType name = "MyType"> <xs:sequence> <xs:element name = "Quantity" type = "xs:string" /> <xs:element name = "DesignNumber" type = "xs:integer" /> <xs:element name = "Size" type = "clothesSizeType" /> </xs:sequence> </xs:complexType> <xs:simpleType name="clothesSizeType"> <xs:restriction base="xs:string"> <xs:enumeration value="S" /> <xs:enumeration value="M" /> <xs:enumeration value="L" /> <xs:enumeration value="XL" /> </xs:restriction> </xs:simpleType>
</xs:schema>
File: Data.xml <TShirt xmlns="http://www.wbex.ru">
<Quantity>100</Quantity> <DesignNumber>114</DesignNumber> <Size>S</Size>
</TShirt></source>