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


<!-- XMLBEANS-57: colon at end of targetNamespace -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:bar="barNS"
        xmlns="dumbNS:::"
        targetNamespace="dumbNS:::"
        elementFormDefault="qualified">

    <xs:import namespace="barNS" schemaLocation="sub/bar.xsd" />

    <xs:attribute name="a" type="xs:integer" />
    <xs:attribute name="b" type="xs:integer" />
    <xs:attribute name="c" type="xs:integer" />

    <xs:element name="root">
        <xs:complexType>
            <xs:attribute ref="b"/>
            <xs:attribute ref="bar:b"/>
        </xs:complexType>
    </xs:element>

</xs:schema>
