<?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 -->
    <!-- comment out element defn for testing
    <xsd:element name="ComplexTypeElem" type="testComplexType"/>
    <xsd:element name="SimpleTypeElem"  type="xsd:string" />
    -->

    <!-- attributes -->
    <!-- commentout for testing
    <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>
