<?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
   elementFormDefault="qualified"
   attributeFormDefault="unqualified"
   targetNamespace="java:int.test"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:tns="java:int.test">

  <xs:simpleType name="LatitudeDegreesType">
    <xs:annotation>
      <xs:documentation>
        <definition>Degrees of Latitude</definition>
        <USMTFref>See USMTF field latitude.degrees.17.1</USMTFref>
        <DoDXMLref>TBD</DoDXMLref>
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:short">
      <xs:minInclusive value="00"/>
      <xs:maxInclusive value="90"/>
      <xs:pattern value="[\d]{2}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="LongitudeDegreesType">
    <xs:annotation>
      <xs:documentation>
        <definition>Degrees of Longitude</definition>
        <USMTFref>See USMTF field longitude.degrees.18.1</USMTFref>
        <DoDXMLref>TBD</DoDXMLref>
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:short">
      <xs:minInclusive value="000"/>
      <xs:maxInclusive value="180"/>
      <xs:pattern value="[\d]{3}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="position">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="lat" type="tns:LatitudeDegreesType"/>
        <xs:element name="lon" type="tns:LongitudeDegreesType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>