XSD element substitution group example? XSD element substitution group example? xml xml

XSD element substitution group example?


Use an element substitution group...

XSD

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">  <xs:element name="Sea">    <xs:complexType>      <xs:sequence>        <xs:element ref="FishSubGroup"                    minOccurs="0" maxOccurs="unbounded"/>      </xs:sequence>      <xs:attribute name="name" type="xs:string" use="optional"/>    </xs:complexType>  </xs:element>  <xs:element name="FishSubGroup" abstract="true"/>  <xs:element name="Tuna" type="FishType" substitutionGroup="FishSubGroup"/>  <xs:element name="Carp" type="FishType" substitutionGroup="FishSubGroup"/>  <xs:element name="Salmon" type="FishType" substitutionGroup="FishSubGroup"/>  <xs:complexType name="FishType">    <xs:attribute name="name" type="xs:string"/>  </xs:complexType></xs:schema>

XML

<?xml version="1.0" encoding="UTF-8"?><Sea name="Atlantic Ocean">  <Tuna name="tuna1"/>  <Carp name="carp1"/>  <Carp name="carp2"/>  <Tuna name="tuna2"/>  <Salmon name="salmon1"/></Sea>