XML Tutorial/XML Schema/substitutionGroup

Материал из Web эксперт
Перейти к: навигация, поиск

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>