<?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'
   targetNamespace='http://openuri.org/test/Numerals'
   elementFormDefault='qualified'>
  <xs:element name='doc'>
    <xs:complexType>
      <xs:sequence>
        <xs:choice minOccurs='0' maxOccurs='unbounded'>
          <xs:element name='int' type='xs:int' />
          <xs:element name='short' type='xs:short' />
          <xs:element name='byte' type='xs:byte' />
          <xs:element name='double' type='xs:double' />
          <xs:element name='float' type='xs:float' />
          <xs:element name='boolean' type='xs:boolean' />
          <xs:element name='string' type='xs:string' />
          <xs:element name='decimal' type='xs:decimal' />
          <xs:element name='integer' type='xs:integer' />
          <xs:element name='long' type='xs:long' />
          <xs:element name='hexBinary' type='xs:hexBinary' />
          <xs:element name='base64Binary' type='xs:base64Binary' />
          <xs:element name='date' type='xs:date' />
          <xs:element name='dateTime' type='xs:dateTime' />
          <xs:element name='gYearMonth' type='xs:gYearMonth' />
          <xs:element name='duration' type='xs:duration' />
          <xs:element name='QName' type='xs:QName' />
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:attribute name='price' type='xs:float' />
  <xs:attribute name='quant' type='xs:byte' />

</xs:schema>