<!--Created with Liquid XML Studio - Developer Pro Edition 7.1.0.1135 (http://www.liquid-technologies.com)-->
<!-- **********************************************************************
location.xsd
John L. Schattel MDL 4 August 2004
Red Hat Linux Apache Server
************************************************************************* -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="locationType">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="location-key" type="xsd:string" />
<xsd:choice>
<xsd:element minOccurs="0" maxOccurs="1" name="point" type="pointType" />
<xsd:element minOccurs="0" maxOccurs="1" name="city" type="cityType" />
<xsd:element minOccurs="0" maxOccurs="1" name="nws-zone" type="nws-zoneType" />
<xsd:element minOccurs="0" maxOccurs="1" name="area" type="areaType" />
</xsd:choice>
<xsd:choice>
<xsd:element minOccurs="0" maxOccurs="1" name="height" type="heightType" />
<xsd:element minOccurs="0" maxOccurs="1" name="level" type="levelType" />
<xsd:element minOccurs="0" maxOccurs="1" name="layer" type="layerType" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="pointType">
<xsd:attribute name="latitude" type="xsd:decimal" use="required" />
<xsd:attribute name="longitude" type="xsd:decimal" use="required" />
<xsd:attribute name="summarization" type="summarizationType" use="optional" />
</xsd:complexType>
<xsd:complexType name="cityType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="state" type="xsd:string" use="required" />
<xsd:attribute name="latitude" type="xsd:decimal" use="optional" />
<xsd:attribute name="longitude" type="xsd:decimal" use="optional" />
<xsd:attribute name="summarization" type="summarizationType" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="nws-zoneType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="state" type="xsd:string" use="required" />
<xsd:attribute name="summarization" type="summarizationType" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="areaType">
<xsd:choice>
<xsd:element minOccurs="1" maxOccurs="1" name="circle" type="circleType" />
<xsd:element minOccurs="1" maxOccurs="1" name="rectangle" type="rectangleType" />
</xsd:choice>
<xsd:attribute name="area-type" use="optional">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="circle" />
<xsd:enumeration value="rectangle" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="circleType">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="point" type="pointType" />
<xsd:element minOccurs="1" maxOccurs="1" name="radius" type="radiusType" />
</xsd:sequence>
<xsd:attribute name="summarization" type="summarizationType" use="optional" />
</xsd:complexType>
<xsd:complexType name="radiusType">
<xsd:attribute name="radius-units" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="statute miles" />
<xsd:enumeration value="kilometers" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="rectangleType">
<xsd:sequence>
<xsd:element minOccurs="4" maxOccurs="4" name="point" type="pointType" />
</xsd:sequence>
<xsd:attribute name="summarization" type="summarizationType" use="optional" />
</xsd:complexType>
<xsd:complexType name="heightType">
<xsd:simpleContent>
<xsd:extension base="xsd:nonNegativeInteger">
<xsd:attribute name="datum" type="datumType" use="required" />
<xsd:attribute name="height-units" type="height-unitsType" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="levelType">
<xsd:simpleContent>
<xsd:extension base="xsd:nonNegativeInteger">
<xsd:attribute name="vertical-coordinate" type="xsd:string" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="layerType">
<xsd:simpleContent>
<xsd:extension base="xsd:nonNegativeInteger">
<xsd:attribute name="vertical-coordinate" type="xsd:string" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="datumType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="surface" />
<xsd:enumeration value="mean sea level" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="height-unitsType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="feet" />
<xsd:enumeration value="meters" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
|