...
Warning | ||
---|---|---|
| ||
it does not make sense to add the association to Note from the <<extension>> classes! That's because an <<extension>> class does not create a new feature or object. It just adds properties to an existing AIXM class, which already has the association to Note. The XSD generation script will even ignore such associations. |
Examples
The example to the left shows the modeling convention used to extend the core AIXM AirspaceActivation feature. The example adds a new attribute to AirspaceActivation and a new relationship to a new object called TestObject. |
Associations can be created between new or extended classes and AIXM Core features or objects as shown in the example to the left. The new association should be created in the Application Schema package and be navigable towards the AIXM core class (feature or object). It should never be navigable towards a class with <<extension>> stereotype. This action ensures the relationship is represented properly in the XML Schema. |
XML Schema Mapping
Classes with the stereotype of <<extension>> generate three related elements for that class.
- <classname>ExtensionPropertyGroup
- <classname>ExtensionType
- <classname>Extension
The <classname>ExtensionProperyGroup contains the properties (elements and relationships) of the Extension.
The <classname>ExtensionType element is generated as a XMLSchema <complexType.> and extends base type aixm:AbstractExtensionType.
The <classname>Extension element is generated as a XMLSchema <element>. The Extension element cannot stand alone, it may only exist as an extension to an AIXM base element. The Extension element does not have a timeslice. The Extension element attribute substitutionGroup is the substitutionGroup of the base type extension. Extension elements are not extensible.
The <classname>Extension element is generated as a XMLSchema <element>. The Extension element cannot stand alone, it may only exist as an extension to an AIXM base element. The Extension element does not have a timeslice. The Extension element attribute substitutionGroup is the substitutionGroup of the base type extension. Extension elements are not extensible.