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

    <xs:element name="Doc">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Normal" type="sa:normalType"/>
                <xs:element name="WithAny" type="sa:withAnyType"/>
                <xs:element name="WithOther" type="sa:withOtherType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>


    <xs:complexType name="normalType">
        <xs:attribute name='att1' type='xs:string' />
        <xs:attribute name='att2' type='xs:string'/>
    </xs:complexType>

    <xs:complexType name="withAnyType">
        <xs:attribute name='att1' type='xs:string' />
        <xs:anyAttribute namespace="##any" processContents="lax" />
    </xs:complexType>

    <xs:complexType name="withOtherType">
        <xs:attribute name='att2' type='xs:string' />
        <xs:anyAttribute namespace="##other" processContents="lax" />
    </xs:complexType>

</xs:schema>