Fullscreen
Loading...
 

wiswiki.wmo.int will be retired on the 1st June 2020

The content of the wiki will be available from old.wmo.int/wiswiki/wiswiki.wmo.int as a static web site with an identical look. However, the wiki will not be functional and users will not be able to login and change or upload new content.

Print

IWXXM-3.0--XML-extended-content

Extended content in IWXXM 3.0
To facilitate consistency in how supplemental content appears in the IWXXM XML documents, the IWXXM schemas have elements named "extension" in many of its complex type definitions. This solution allows unique and customized content in the resulting XML documents. The IWXXM schemas' <extension> elements consists of a <any processContents='strict'> type with cardinality of zero to many. Therefore states can then define their own complex XML types that support their additions to the Annex 3 products' technical specifications. Their unique complex types can then appear within the extension element(s) of the corresponding IWXXM XML documents. Because the <any> type has the attribute "processContents" set to "strict", this requires that a schema file (XSD) must exist and be found by the XML processor. The processor then uses this schema file to validate the content inside the <extension> element. The Usage example below illustrates this requirement.

Implementation


In all IWXXM complex types defined in the schema, the <extension> element appears last in any <sequence>. For example in the following IWXXM 3 metarSpeci XML document "collapsed" view:

METAR template with optional extension element
<METAR xmlns="http://icao.int/iwxxm/3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://icao.int/iwxxm/3.0 http://schemas.wmo.int/iwxxm/3.0.0/iwxxm.xsd" status=""
 permissibleUsage="" xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="">
 <issueTime>...</issueTime>
 <aerodrome>...</aerodrome>
 <observationTime>...</observationTime>
 <observation>...</observation>
 <trendForecast>...</trendForecast>
 <extension>...</extension>
</METAR>


Other complex types used in the METAR and SPECI documents that have the <extension> elements are the MeteorologicalAerodromeObservation and MeteorologicalAerodromeTrendForecast types.

Meteorological Aerodrome Observation template with extension element
<MeteorologicalAerodromeObservation cloudAndVisibilityOK="..." gml:id="...">
  <airTemperature uom=".."></airTemperature
  <dewpointTemperature uom=".."></dewpointTemperature>
  <qnh uom=".."></qnh>
  <airTemperature uom=""></airTemperature>
  <dewpointTemperature uom=""></dewpointTemperature>
  <qnh uom=""></qnh>
  <surfaceWind>...</surfaceWind>
  <visibility>...</visibility>
  <rvr>...</rvr>
  <presentWeather>...</presentWeather>
  <cloud>...</cloud>
  <recentWeather>...</recentWeather>
  <windShear>...</windShear>
  <seaState>...</seaState>
  <runwayState>...</runwayState>
  <extension>...</extension>
</MeteorologicalAerodromeObservation>


Meteorological Aerodrome Trend Forecast template with optional extension element
<MeteorologicalAerodromeTrendForecast>
  <phenomenonTime>...</phenomenonTime>
  <timeIndicator>...</timeIndicator>
  <prevailingVisibility uom="..."></prevailingVisibility>
  <prevailingVisibilityOperator>...</prevailingVisibilityOperator>
  <surfaceWind>
    <AerodromeSurfaceWindTrendForecast>
      <meanWindDirection uom=""></meanWindDirection>
      <meanWindSpeed uom=""></meanWindSpeed>
      <meanWindSpeedOperator></meanWindSpeedOperator>
      <windGustSpeed uom=""></windGustSpeed>
      <windGustSpeedOperator></windGustSpeedOperator>
      <extension></extension>
    </AerodromeSurfaceWindTrendForecast>
  </surfaceWind>
  <weather>...</weather>
  <cloud>...</cloud>
  <extension>...</extension>
</MeteorologicalAerodromeTrendForecast>


In all cases, the <extension> element, if present, will be located at the end of the complex types in the XML documents.

These and other complex types, see here for a comprehensive list, defined in IWXXM 3 schema files allow extended content to appear in multiple places within an XML document. However, it is incumbent on the states, should they need to use the <extension> elements, to use them judiciously: there is a 5000 character limit for all <extension> content within an XML document.

Usage


The optional <extension> elements as they appear in the schemas files are of complex type <any>. As such, any simple or complex type defined in a schema file can be used. Typically a state would create and define their own complex types specific to their needs in a schema file and make the file widely available. An IWXXM XML product with extended content would refer to the state's schema file so that XML validation tools can find the definitions and verify correct usage.

To illustrate, suppose a state wishes to include wind shear information, as measured by radar profilers situated at its major airports, into their METAR and SPECI reports. An XML complex type to encode the profiler information could look like this:

Wind Shear complex type
<schema elementFormDefault="qualified" targetNamespace="http://weather.gov.ss/iwxxm-ss/1.0" version="1.0" 
        xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2"
        xmlns:iwxxm-ss="http://weather.gov.ss/iwxxm-ss/1.0">
  <import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
  <!--
    This schema file is meant to illustrate the use of IWXXM <extension> elements and how externally defined
    complex types would appear IWXXM XML documents
  -->
  <annotation>
   <documentation>
Low-level wind shear is one of the major hazards to flight safety. Sudden changes in lift near the ground
give pilots little time to recover. The deployment of radar profilers at the major, high traffic airports that
are able to detect low-level wind shears below 500 meters, it is vitally important that information regarding
the base height and magnitude of the wind shear layer be communicated to airport traffic controllers and
pilots. The complex type defined below will allow profiler data at the time of the METAR or SPECI measurement
period be included in the IWXXM XML document.
   </documentation>
  </annotation>
  <element name="windShearAlert" type="iwxxm-ss:WindShearAlertType"/>
  <complexType name='WindShearAlertType'>
    <annotation>
      <documentation>
Complex type to convey wind shear information to air-traffic control and pilots. Wind shears usually occur near
the boundary of the PBL and the free atmosphere. Shear is given in units of 'per time'.
      </documentation>
    </annotation>
    <sequence>
      <element name='windShearBaseHeight' type='gml:MeasureType'/>
      <element name='windShearValue' type='gml:MeasureType'/>
      <element name='windShearMagnitude' type='iwxxm-ss:WindShearSeverityTypes'/>
      <element name='windSpeedAtBase' type='gml:SpeedType'/>
      <element name='windDirectionAtBase' type='gml:AngleType'/>
    </sequence>
  </complexType>
  <simpleType name="WindShearSeverityTypes">
    <annotation>
      <documentation>
Simple table to describe the wind shear values (WS) in 
qualitative terms:
       "Moderate" 0.06 < WS <= 0.12 per second
       "Severe" 0.12 < WS <= 0.17 per second
       "Extreme" WS > 0.17 per second
                         
For large commercial aircraft, these categories represent lost/gain of relative wind speed over the
wing of 10-15, 15-20, and 20 knots and greater.
      </documentation>
    </annotation>
    <restriction base="string">
      <enumeration value="Moderate"/>
      <enumeration value="Severe"/>
      <enumeration value="Extreme"/>
    </restriction>
  </simpleType>
</schema>


This XML schema file must be accessible so consumers of that nation's XML products shall be able to validate documents that use such types in their Annex 3 products (or elsewhere). A SPECI with a wind shear information would look like the following XML document:

SPECI with a wind shear alert base on profiler data
<SPECI xmlns="http://icao.int/iwxxm/3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:gml="http://www.opengis.net/gml/3.2"
  xsi:schemaLocation="http://icao.int/iwxxm/3.0 http://schemas.wmo.int/iwxxm/3.0.0/iwxxm.xsd"
  status="NORMAL" permissibleUsage="OPERATIONAL" gml:id="...">
  <issueTime>...</phenomenonTime>
  <aerodrome>...</aerodrome>
  <observationTime>...</observationTime>
  <observation>
    <MeteorologicalAerodromeObservation cloudAndVisibilityOK="true" gml:id="...">
      <airTemperature uom="Cel">0.0</airTemperature>
      <dewpointTemperature uom="Cel">-1.1</dewpointTemperature>
      <qnh uom="hPa">1008.4</qnh>
      <surfaceWind>
        <AerodromeSurfaceWind variableWindDirection="false">
          <meanWindDirection uom="deg">110</meanWindDirection>
          <meanWindSpeed uom="[kn_i]">23</meanWindSpeed>
          <windGustSpeed uom="[kn_i]">35</windGustSpeed>
        </AerodromeSurfaceWind>
      </surfaceWind>
      <windShear>
        <AerodromeWindShear allRunways='true'>
          <extension>
            <windShearAlert xmlns="http://weather.gov.ss/iwxxm-ss/1.0"
              xsi:schemaLocation="http://weather.gov.ss/iwxxm-ss/1.0 http://weather.gov.ss/iwxxm-ss/1.0/IWXXM-SS.xsd">
              <windShearBaseHeight uom="m">240</windShearBaseHeight>
              <windShearValue uom="1/s">0.084</windShearValue>
              <windShearMagnitude>Moderate</windShearMagnitude>
              <windSpeedAtBase uom="[kn_i]">32</windSpeedAtBase>
              <windDirectionAtBase uom="deg">145</windDirectionAtBase>
            </windShearAlert>
          </extension>
        </AerodromeWindShear>
      </windShear>
    </MeteorologicalAerodromeObservation>
  <observation>
</SPECI>


By explicitly allowing extension elements in the IWXXM documents, this allows the consumer to readily identify non-Annex 3 content in the XML document.

Page last modified on Wednesday 22 of January, 2020 18:46:46 CET