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