XML Tutorial/XML Schema/substitutionGroup
Версия от 18:22, 25 мая 2010; (обсуждение)
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.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>