<<< Here's the entire RELAX document to describe the weather report:
<module
moduleVersion="1.2"
relaxCoreVersion="1.0"
targetNamespace=""
xmlns="http://www.xml.gr.jp/xmlns/relaxCore">
<interface>
<export label="report"/>
</interface>
<elementRule role="report">
<tag name="report"/>
<sequence>
<ref label="datestamp"/>
<ref label="station"/>
<ref label="temperature"/>
<ref label="wind"/>
</sequence>
</elementRule>
<tag name="report"/>
<!--
The datestamp should have type="date", but the
current Java validator does not recognize that
datatype yet.
-->
<elementRule role="datestamp" type="string"/>
<tag name="datestamp"/>
<elementRule role="station">
<sequence>
<ref label="latitude"/>
<ref label="longitude"/>
</sequence>
</elementRule>
<tag name="station">
<attribute name="fullname" type="string" required="true">
<maxlength value="75"/>
</attribute>
<attribute name="abbrev" type="string">
<length value="4"/>
</attribute>
</tag>
<elementRule role="latitude" type="decimal">
<minInclusive value="-90"/>
<maxInclusive value="90"/>
</elementRule>
<tag name="latitude"/>
<elementRule role="longitude" type="decimal">
<minInclusive value="-180.0"/>
<maxInclusive value="180.0"/>
</elementRule>
<tag name="longitude"/>
<elementRule role="temperature">
<sequence>
<ref label="min"/>
<ref label="max"/>
<ref label="forecast-low"/>
<ref label="forecast-high"/>
</sequence>
</elementRule>
<tag name="temperature"/>
<elementRule role="min" type="integer">
<tag name="min"/>
<minInclusive value="-70"/>
<maxInclusive value="70"/>
</elementRule>
<elementRule role="max" type="integer">
<tag name="max"/>
<minInclusive value="-70"/>
<maxInclusive value="70"/>
</elementRule>
<elementRule role="forecast-low" type="integer">
<tag name="forecast-low"/>
<minInclusive value="-70"/>
<maxInclusive value="70"/>
</elementRule>
<elementRule role="forecast-high" type="integer">
<tag name="forecast-high"/>
<minInclusive value="-70"/>
<maxInclusive value="70"/>
</elementRule>
<elementRule role="wind">
<sequence>
<ref label="direction" occurs="?" />
<ref label="speed"/>
</sequence>
</elementRule>
<tag name="wind"/>
<elementRule role="direction" type="string">
<enumeration value="N"/>
<enumeration value="NNE"/>
<enumeration value="NE"/>
<enumeration value="ENE"/>
<enumeration value="E"/>
<enumeration value="ESE"/>
<enumeration value="SE"/>
<enumeration value="SSE"/>
<enumeration value="S"/>
<enumeration value="SSW"/>
<enumeration value="SW"/>
<enumeration value="WSW"/>
<enumeration value="W"/>
<enumeration value="WNW"/>
<enumeration value="NW"/>
<enumeration value="NNW"/>
</elementRule>
<tag name="direction"/>
<elementRule role="speed" type="nonNegativeInteger"/>
<tag name="speed"/>
</module>
Some final thoughts >>>