XML Schema Mapping
File Structure
The core AIXM exchange format is composed of three main files:
- AIXM_AbstractGML_ObjectTypes.xsd: the file references the ISO19139 Metadata Schema and defines the base AIXM Feature/Object constructs
- AbstractAIXMFeatureType / AbstractAIXMFeature
- AbstractAIXMTimesliceType / AbstractAIXMTimeslice
- AbstractAIXMObjectType
- AbstractAIXMPropertyType, which defines the nilReason for all the AIXM complex properties
- AIXM_Datatypes.xsd: this file contains the XML representation of all the data types defined in the AIXM UML model.
- AIXM_Features.xsd: this file contains the XML representation of all the AIXM features with all their properties (simple and complex).
The chapters here after specify the rules that govern the mapping between the AIXM UML model and the AIXM XML Schema.
AIXM is GML
The AIXM exchange model is an XML exchange standard based on a subset of the Geography Markup Language (GML). Essentially:
- AIXM Features are GML features;
- AIXM Objects are GML objects;
- AIXM follows the GML object-property concept.
The GML Object-Property Model
The GML object-property model explains some of the complexity of the AIXM UML to XSD mapping. It means that no GML object may appear as the immediate child of a GML object. Consequently, no element may be both a GML object and a GML property.
The object-property model prohibits the encoding of an object directly inside a feature, e.g.
<AirportHeliport> <!-- feature --> > <ElevatedPoint> <!- object -->
The direction of the association arrow from the UML diagrams (the navigability) dictates which of the two association partners has the property that associates the other.
In the AIXM XML Schema, the object-property model is encoded by declaring a type and then assigning properties (attributes and relationships) to that type. The type defines the object.
Mapping Inheritance
Within the AIXM XML Schema, inheritance implies two characteristics:
- Substitutability. The more general feature or object can be substituted by a specialization. In the XML schema this is supported using substitution groups.
- Property inheritance. The specialized feature inherits all of the properties of the more general feature. In the XML schema including the properties of the general class into the specialized class supports this.
Mapping Name of Classes
The UML class name is used for the element names in the XML Schema.