<!--
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 targetNamespace="http://xmlbeans.apache.org/samples/substitutiongroup/easypo"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:po="http://xmlbeans.apache.org/samples/substitutiongroup/easypo"
 elementFormDefault="qualified" >

    <xs:element name="purchase-order">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="po:invoice-header" minOccurs="1" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="invoice-header">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="ship-to" type="po:name-address" />
                    <xs:element name="bill-to" type="po:name-address" />
                    <xs:element ref="po:product" minOccurs="0" />
                    <xs:element ref="po:comment" minOccurs="0" />
                </xs:sequence>
            </xs:complexType>
    </xs:element>

    <xs:complexType name="name-address">
        <xs:sequence>
            <xs:element name="name" type="xs:string" />
            <xs:element name="address" type="xs:string" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="product-type" abstract="true">
        <xs:attribute name="id" type="xs:int" />
    </xs:complexType>

    <xs:complexType name="book-type">
        <xs:complexContent>
            <xs:extension base="po:product-type">
                <xs:sequence>
                    <xs:element name="title" type="xs:string" />
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="clothing-type">
        <xs:complexContent>
            <xs:extension base="po:product-type">
                <xs:sequence>
                    <xs:element name="color">
                        <xs:simpleType>
                            <xs:restriction base="xs:token">
                                <xs:enumeration value="red"/>
                                <xs:enumeration value="blue"/>
                                <xs:enumeration value="green"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:element name="product" type="po:product-type" abstract="true"/>

    <xs:element name="book" type="po:book-type"
        substitutionGroup="po:product"/>
    <xs:element name="clothing" type="po:clothing-type"
        substitutionGroup="po:product"/>

    <xs:element name="comment" type="xs:string" />
    <xs:element name="ship-comment" type="xs:string" substitutionGroup="po:comment" />
    <xs:element name="bill-comment" type="xs:string" substitutionGroup="po:comment" />

</xs:schema>
