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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
    targetNamespace="http://openuri.org/sgs" xmlns:sg="http://openuri.org/sgs">
    <xsd:element name="C" type="xsd:token" substitutionGroup="sg:B"/>
    <xsd:element name="A" type="xsd:string"/>
    <xsd:element name="B" type="xsd:normalizedString" substitutionGroup="sg:A"/>

    <xsd:element name="Z" type="sg:Ext" substitutionGroup="sg:Y" />
    <xsd:element name="Y" substitutionGroup="sg:X" />
    <xsd:element name="X" type="sg:Base"/>

    <xsd:element name="AnyType"/>
    <xsd:element name="AnyTypeTail" substitutionGroup="sg:AnyType"/>

    <xsd:element name="AnonSimple">
        <xsd:simpleType>
            <xsd:restriction base="xsd:int">
                <xsd:maxExclusive value="100"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:element>

    <xsd:element name="AnonSimpleTail" substitutionGroup="sg:AnonSimple"/>

    <xsd:element name="AnonComplex">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="foo" type="xsd:int"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="AnonComplexTail" substitutionGroup="sg:AnonComplex"/>

    <xsd:element name="root">
        <xsd:complexType>
            <xsd:sequence maxOccurs="unbounded">
                <xsd:element ref="sg:A"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="Base">
        <xsd:sequence>
            <xsd:element name="str" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="Unrelated">
        <xsd:sequence>
            <xsd:element name="str" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="Ext">
        <xsd:complexContent>
            <xsd:extension base="sg:Base">
                <xsd:sequence>
                    <xsd:element name="int" type="xsd:int"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

	<xsd:element name="abstractTest">
		<xsd:complexType>
			<xsd:all>
				<xsd:element ref="sg:abstract"/>
			</xsd:all>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="abstract" type="xsd:string" abstract="true"/>
    <xsd:element name="concrete" substitutionGroup="sg:abstract"/>

	<xsd:element name="blockTest">
		<xsd:complexType>
			<xsd:all>
				<xsd:element ref="sg:block"/>
			</xsd:all>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="block" type="xsd:string" block="substitution"/>
    <xsd:element name="subblock" substitutionGroup="sg:block"/>

</xsd:schema>
