Sample XSD File: Relationships
The following XSD file is used in various examples in the XSD Schema Designer documentation. This file is a purchase order schema with annotations and documentation.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="pet" type="PetType"/>
<xs:attributeGroup name="NameAgeAttributes">
<xs:attribute name="age" type="xs:integer" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:attributeGroup>
<xs:complexType name="PetType">
<xs:attributeGroup ref="NameAgeAttributes"/>
</xs:complexType>
<xs:element name="cat" substitutionGroup="pet">
<xs:complexType>
<xs:complexContent>
<xs:extension base="PetType">
<xs:sequence>
<xs:element name="weight" type="xs:integer"/>
<xs:element name="color" type="xs:string"/>
<xs:element name="breed" type="xs:integer"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="dog" substitutionGroup="pet">
<xs:complexType>
<xs:complexContent>
<xs:extension base="PetType">
<xs:sequence>
<xs:element name="weight" type="xs:integer"/>
<xs:element name="color" type="xs:string"/>
<xs:element name="breed" type="xs:integer"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>