<?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:sc='http://openuri.org/test/selectChildren'
   targetNamespace='http://openuri.org/test/selectChildren'
   elementFormDefault="qualified">

    <xs:element name="Normal" type="sc:normalType"/>
    <xs:element name="ElemWithAny" type="sc:withAnyType"/>

    <xs:complexType name="normalType">
        <xs:sequence>
            <xs:element name="first" type="xs:string"/>
            <xs:element name="second" type="xs:string"/>
            <xs:element name="numbers" type="xs:int" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="withAnyType">
        <xs:sequence>
            <xs:element name="simple" type="xs:string"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:element name='topLevelElement' type='xs:string'/>

</xs:schema>