<?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 attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="CATALOG" type="CATALOGType">
    <xs:annotation>
      <xs:documentation>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:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CDType">
    <xs:sequence>
      <xs:element type="xs:string" name="TITLE" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element type="xs:string" name="ARTIST" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element name="COUNTRY">
        <xs:simpleType>
          <xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:enumeration value="USA"/>
            <xs:enumeration value="UK"/>
            <xs:enumeration value="EU"/>
            <xs:enumeration value="Norway"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element type="xs:string" name="COMPANY" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element type="xs:float" name="PRICE" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element type="xs:short" name="YEAR" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CATALOGType">
    <xs:sequence>
      <xs:element type="CDType" name="CD" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>