<!--Created with Liquid XML Studio - Developer Pro Edition 7.1.0.1135 (http://www.liquid-technologies.com)-->
<!-- **********************************************************************
DWML.xsd - Top level XML Schema for Digital Weather Markup Language
John L. Schattel MDL 4 August 2004
Red Hat Linux Apache Server
Paul Hershberg MDL 11 July 2007
-Added keyref for new <moreWeatherInformation> element.
************************************************************************* -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="meta_data.xsd" />
<xsd:include schemaLocation="ndfd_data.xsd" />
<xsd:simpleType name="latLonListType">
<xsd:restriction base="xsd:string">
<xsd:annotation>
<xsd:documentation xml:lang="en">
This expression enforces a space delimited list
of latitude longitude pairs. The latitude and
longitude values are delimited by a comma
(i.e. 38.00,-100.00 40.00,-78.00)
</xsd:documentation>
</xsd:annotation>
<xsd:pattern value="[\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+( [\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+)*" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="cityNameListType">
<xsd:restriction base="xsd:string">
<xsd:annotation>
<xsd:documentation xml:lang="en">
This expression enforces a coma delimited list city names.
The city names are ordered to match the cities latitude
and longitude value in the accompanying latLonListType element
(i.e. Dallas,Los Angeles,Salt Lake City)
</xsd:documentation>
</xsd:annotation>
<xsd:pattern value="[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z](\|[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z])*" />
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="dwml">
<xsd:complexType>
<xsd:choice>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="head" type="headType" />
<xsd:element minOccurs="1" maxOccurs="1" name="data" type="dataType">
<xsd:keyref name="applicable-locationKey" refer="locationKey">
<xsd:selector xpath="data/parameters" />
<xsd:field xpath="@applicable-location" />
</xsd:keyref>
<xsd:keyref name="moreWeatherInformationKey" refer="locationKey">
<xsd:selector xpath="data/moreWeatherInformation" />
<xsd:field xpath="@applicable-location" />
</xsd:keyref>
<xsd:key name="locationKey">
<xsd:selector xpath=".//location" />
<xsd:field xpath="location-key" />
</xsd:key>
<xsd:keyref name="applicable-timeKey" refer="timeKey">
<xsd:selector xpath="data/parameters/*" />
<xsd:field xpath="@time-layout" />
</xsd:keyref>
<xsd:key name="timeKey">
<xsd:selector xpath=".//time-layout" />
<xsd:field xpath="layout-key" />
</xsd:key>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="minResolution" type="xsd:decimal" />
<xsd:element name="latLonList" type="latLonListType" />
<xsd:element minOccurs="0" maxOccurs="1" name="cityNameList" type="cityNameListType" />
</xsd:sequence>
</xsd:choice>
<xsd:attribute default="1.0" name="version" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
|