<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2004 The Apache Software Foundation

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License. -->

<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>
