<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:per="http://openuri.org/test/Person" targetNamespace="http://openuri.org/test/Person" elementFormDefault="qualified"> | |
<xs:element name="Person" type="per:personType"/> | |
<xs:complexType name="personType"> | |
<xs:sequence> | |
<xs:element name="Name" type="per:name"/> | |
<xs:sequence maxOccurs="unbounded" minOccurs="0"> | |
<xs:element name="Sibling" type="per:personType"/> | |
</xs:sequence> | |
</xs:sequence> | |
<xs:attribute name="Sex" type="per:sex"/> | |
<xs:attribute name="Birthday" type="xs:date"/> | |
</xs:complexType> | |
<xs:complexType name="name"> | |
<xs:sequence> | |
<xs:element name="First" type="xs:string"/> | |
<xs:element name="Last" type="xs:string"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="middlename"> | |
<xs:complexContent> | |
<xs:extension base="per:name"> | |
<xs:sequence> | |
<xs:element name="Middle" type="xs:string"/> | |
</xs:sequence> | |
</xs:extension> | |
</xs:complexContent> | |
</xs:complexType> | |
<xs:complexType name="justName"> | |
<xs:sequence> | |
<xs:element name="Name" type="per:name"/> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="sex"> | |
<xs:restriction base="xs:string"> | |
<xs:whiteSpace value="collapse"/> | |
<xs:enumeration value="male"/> | |
<xs:enumeration value="female"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:schema> |