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

    <xsd:element name="TestRoot">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="SimpleTypeElem" />
                <xsd:element ref="ComplexTypeElem" />
            </xsd:sequence>
            <xsd:attribute ref="testAttributeComplex" />
        </xsd:complexType>

    </xsd:element>

    <!-- elements -->
    <xsd:element name="ComplexTypeElem" type="testComplexType"/>
    <xsd:element name="SimpleTypeElem"  type="xsd:string" />

    <!-- attributes -->
    <xsd:attribute name="testAttributeComplex">
        <xsd:simpleType>
            <xsd:restriction base="xsd:integer">
                <xsd:minInclusive value="10" />
                <xsd:maxInclusive value="20" />
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:attribute>

    <xsd:attribute name="testAttrSimple" type="xsd:string"/>


    <!--  type definitions -->
    <xsd:complexType name="testComplexType">
        <xsd:sequence minOccurs="1" maxOccurs="unbounded">
            <xsd:element name="testComplexTypeSubElem1" type="xsd:string"/>
            <xsd:element name="testComplexTypeSubElem2" type="xsd:integer"/>
        </xsd:sequence>
        <xsd:attribute ref="testAttrSimple" use="required "/>
    </xsd:complexType>


</xsd:schema>
