XML Usage Limitations
The XML standard includes coding possibilities that may be very complex and which are not really necessary in the context of aeronautical data sets. In order to reduce the complexity of the implementations and to expedite the processing of AIS Data Set updates, a number of restrictions may be applied to the XML encoding.
Rule
An AIS Data Set shall not contain any of the following:
o processing instructions (Section 2.6 of the XML standard)
o internal or external DTD subsets (Section 2.8 of the XML standard)o internal or external entity references (Section 4.2 of the XML standard) with the exception of predefined entities (Section 4.6 of the XML standard)
o character data or attribute values containing unescaped characters that map to the predefined entities (Section 4.6 of the XML standard); such characters MUST be escaped.
Recommendation
An AIS Data Set should not contain any of the following:
o comments (as defined in Section 2.5 of the XML standard) - because they are lost after the file is processed and could be misused (for example, instead of metadata). However, they might be useful for investigation (for example when the file processing fails).
In addition to the basic XML limitations listed above, there are some XML Schema - Data Types possibilities that are not necessary for the provision of ICAO data sets.
According to the W3C XML Schema specification, NaN, +INF and -INF are allowed for xs:float and xs:double. In particular, they could occur as gml:pos values (<gml:pos>NaN NaN</gml:pos), which does not make sense because the aeronautical data included in data sets is not expected to be the result of on-the-fly computations. The xsi:nil=”TRUE” and nilReason shall be used in order to indicate that a property is not provided.
Rule
An AIS Data Set shall not contain numerical elements of type xs:float or xs:double that have as actual value NaN (“notANumber”) or INF (“infinity”) as defined in the W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes