Mega Code Archive

 
Categories / XML Tutorial / XML Schema
 

Using Substitution Groups to Handle Choice Between Elements

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"   targetNamespace="http://www.rntsoft.com"    xmlns="http://www.rntsoft.com"   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.rntsoft.com">    <Quantity>100</Quantity>    <DesignNumber>114</DesignNumber>    <Size>S</Size>    </TShirt>