1 / 30

AIXM 5.1 - UML to XSD

AIXM 5.1 - UML to XSD. AIXM XML Developers' Seminar. Content. Overview of AIXM files Mapping rules for Datatypes Mapping rules for Features Presentation AIXM scripts Creation of an extension. AIXM 5.1. includes. GML 3.2. ISO 19139 metadata schema. W3C xlink. Overview of AIXM files.

Download Presentation

AIXM 5.1 - UML to XSD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AIXM 5.1 - UML to XSD AIXM XML Developers' Seminar

  2. Content • Overview of AIXM files • Mapping rules for Datatypes • Mapping rules for Features • Presentation AIXM scripts • Creation of an extension UML to XSD – AIXM 5.1 mapping scripts

  3. AIXM 5.1 includes GML 3.2 ISO19139metadataschema W3C xlink Overview of AIXM files • The file AIXM_AbstractGML_ObjectTypes.xsd • References ISO19139 Metadata Schema • Defines the base AIXM Feature Constructs • AbstractAIXMFeatureType / AbstractAIXMFeature • AbstractAIXMTimesliceType / AbstractAIXMTimeslice • The file AIXM_DataTypes.xsd contains the mapping of the AIXM datatypes • The file AIXM_Features.xsd contains the mapping of the AIXM features UML to XSD – AIXM 5.1 mapping scripts

  4. AIXM 5.1UML AIXM 5.1XSD Overview of AIXM files AIXM 5.1 Mapping Rules • AIXM 5.1 Mapping rules explains how to translate the AIXM 5.1 UML model into an XML grammar based on a subset of the Geography Markup Language (GML 3.2) • Mapping rules are defined for: • AIXM Datatypes • AIXM Features UML to XSD – AIXM 5.1 mapping scripts

  5. AIXM 5.1 - UML to XSDMapping Rules - Datatypes

  6. AIXM 5.1 Mapping Rules - Datatypes • Mapping <<enumeration>> <simpleType name="CodeAirportHeliportType"> <union> <simpleType> <restriction base="xsd:string"> <enumeration value="AD"> <annotation> <documentation/> </annotation> </enumeration> <enumeration value="AH“/> <enumeration value="HP“/> <enumeration value="LS“/> </restriction> </simpleType> <simpleType> <restriction base="string"> <pattern value="OTHER:\w{2,58}"/> </restriction> </simpleType> </union> </simpleType> UML to XSD – AIXM 5.1 mapping scripts

  7. AIXM 5.1 Mapping Rules - Datatypes • Mapping <<codelist>> <simpleType name="CodeAerialRefuelingPrefixType_base"> <annotation> <documentation/> </annotation> <restriction base="xsd:string"> <enumeration value="AR"> <annotation> <documentation/> </annotation> </enumeration> </restriction> </simpleType> <simpleType name="CodeAerialRefuelingPrefixType"> <union memberTypes="aixm:CodeAerialRefuelingPrefixType_base xsd:string"/> </simpleType> UML to XSD – AIXM 5.1 mapping scripts

  8. AIXM 5.1 Mapping Rules - Datatypes • Mapping <<datatype>> <simpleType name="ValDistanceTypeBase"> <annotation> <documentation/> </annotation> <restriction base="xsd:decimal"> <minInclusive value="0"/> </restriction> </simpleType> <complexType name="ValDistanceType"> <simpleContent> <annotation> <documentation/> </annotation> <extension base="aixm:ValDistanceTypeBase"> <attribute name="uom" type="aixm:UomDistanceType" use="required"/> </extension> </simpleContent> </complexType> UML to XSD – AIXM 5.1 mapping scripts

  9. AIXM 5.1 - UML to XSDMapping Rules - Features

  10. AIXM 5.1 Mapping Rules - Features • AIXM is based on GML • AIXM Features are GML features… • AIXM follows the GML object-property concept. <AirportHeliport> <!-- feature --> <ElevatedPoint> <!-- object --> <AirportHeliport> <!-- feature --> <hasReferencePoint> <!-- property --> <ElevatedPoint> <!-- object --> UML to XSD – AIXM 5.1 mapping scripts

  11. AIXM 5.1 Mapping Rules - Features • For each AIXM Feature in the UML, the following XML schema entities are created: • FeaturePropertyType • Feature • FeatureType • FeatureTimeSlicePropertyType • FeatureTimeSlice • FeatureTimeSliceType • FeaturePropertyGroup • AIXM objects are encoded as GML objects. The mapping rule for Objects are the same as the rules for Features except that • Object do not exist outside of a feature • TimeSlice types and elements are not created UML to XSD – AIXM 5.1 mapping scripts

  12. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <group name="RunwayPropertyGroup"> <sequence> <element name="designator" nillable="true" minOccurs="0"> [………………] <complexType> <simpleContent> <extension base="aixm:TextDesignatorType"> <attribute name="nilReason" type="gml:NilReasonEnumeration"/> </extension> </simpleContent> </complexType> </element> <element name="type" nillable="true" minOccurs="0"> [………………] </sequence> </group> • UML properties are mapped into FeaturePropertyGroup UML to XSD – AIXM 5.1 mapping scripts

  13. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <group name="RunwayPropertyGroup"> <sequence> <element name="designator" nillable="true" minOccurs="0"> [………………] <element name="surfaceProperties" nillable="true" minOccurs="0"> <complexType> <complexContent> <extension base="aixm:SurfaceCharacteristicsPropertyType"> <attribute name="nilReason" type="gml:NilReasonEnumeration"/> </extension> </complexContent> </complexType> </element> [………………] UML to XSD – AIXM 5.1 mapping scripts

  14. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features • UML properties are mapped into FeaturePropertyGroup <group name="RunwayPropertyGroup"> <sequence> <element name="designator" nillable="true" minOccurs="0"> [………………] <element name="type" nillable="true" minOccurs="0"> [………………] <element name="associatedAirportHeliport" type="aixm:AirportHeliportPropertyType" nillable="true" minOccurs="0"> [………………] </sequence> </group> UML to XSD – AIXM 5.1 mapping scripts

  15. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features • The RunwayTimeSliceType encapsulates all the Runway properties that change over time <complexType name="RunwayTimeSliceType"> <complexContent> <extension base="aixm:AbstractAIXMTimeSliceType"> <sequence> <group ref="aixm:RunwayPropertyGroup"/> <element name="extension" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element ref="aixm:AbstractRunwayExtension"/> </sequence> <attributeGroup ref="gml:OwnershipAttributeGroup"/> </complexType> </element> </sequence> </extension> </complexContent> </complexType> UML to XSD – AIXM 5.1 mapping scripts

  16. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <element name="RunwayTimeSlice" type="aixm:RunwayTimeSliceType" substitutionGroup="gml:AbstractTimeSlice"/> • RunwayTimeSlice element is of type RunwayTimeSliceType. UML to XSD – AIXM 5.1 mapping scripts

  17. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <complexType name="RunwayTimeSlicePropertyType"> <sequence> <element ref="aixm:RunwayTimeSlice"/> </sequence> <attributeGroup ref="gml:OwnershipAttributeGroup"/> </complexType> • A GML property type containing a FeatureTimeSlice objects is created. UML to XSD – AIXM 5.1 mapping scripts

  18. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <complexType name="RunwayType"> <complexContent> <extension base="aixm:AbstractAIXMFeatureType"> <sequence> <element name="timeSlice" type="aixm:RunwayTimeSlicePropertyType" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> • The Runway feature type is created extending the AbstractAIXMFeatureType with the RunwayTimeSlice object created before. UML to XSD – AIXM 5.1 mapping scripts

  19. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <element name="Runway" type="aixm:RunwayType" substitutionGroup="aixm:AbstractAIXMFeature"> <annotation> <documentation>A defined rectangular area on a land aerodrome/heliport prepared for the landing and take-off of aircraft. Note: this includes the concept of Final Approach and Take-Off Area (FATO) for helicopters. </documentation> </annotation> </element> • The Runway feature is then defined by the RunwayType. UML to XSD – AIXM 5.1 mapping scripts

  20. RunwayPropertyType • Runway • RunwayType • RunwayTimeSlicePropertyType • RunwayTimeSlice • RunwayTimeSliceType • RunwayPropertyGroup AIXM 5.1 Mapping Rules - Features <complexType name="RunwayPropertyType"> <attributeGroup ref="gml:OwnershipAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/> </complexType> • Used for relationship to feature Runway • Provides the xlink:href attribute UML to XSD – AIXM 5.1 mapping scripts

  21. AIXM 5.1 - UML to XSD AIXM Scripts

  22. AIXM 5.1 - UML to XSD Walkthrough AIXM 5.1 XSD Schemas

  23. AIXM 5.1 - UML to XSDCreation of an extension

  24. UML Extension • A feature or object may be extended by creating a class with the same name as the core AIXM feature and giving it a stereotype <<extension>>. • New classes (features and objects), that do not extend existing AIXM Core classes, can be also created. UML to XSD – AIXM 5.1 mapping scripts

  25. UML Extension • Extensions shall NOT be included in the core AIXM packages UML to XSD – AIXM 5.1 mapping scripts

  26. AIXM 5.1 Mapping Rules - Extensions • AIXM_Features.xsd is defined in such a way that multiple extensions can be included in the core FeatureTimesliceType • Features with the stereotype of <<extension>> generates three related elements for that class. • FeatureExtensionPropertyGroup • FeatureExtensionType • FeatureExtension <complexType name="AirspaceTimeSliceType"> <complexContent> <extension base="aixm:AbstractAIXMTimeSliceType"> <sequence> <group ref="aixm:AirspacePropertyGroup"/> <element name="extension" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <element ref="aixm:AbstractAirspaceExtension"/> […………….] UML to XSD – AIXM 5.1 mapping scripts

  27. AirspaceExtension • AirspaceExtensionType • AirspaceExtensionPropertyGroup AIXM 5.1 Mapping Rules - Extensions <group name="AirspaceExtensionPropertyGroup"> <sequence> <element name="flexibleUse" nillable="true" minOccurs="0"> […………….] <element name="level1" nillable="true" minOccurs="0"> […………….] </sequence> </group> UML to XSD – AIXM 5.1 mapping scripts

  28. AirspaceExtension • AirspaceExtensionType • AirspaceExtensionPropertyGroup AIXM 5.1 Mapping Rules - Extensions <complexType name="AirspaceExtensionType"> <complexContent> <extension base="aixm:AbstractExtensionType"> <sequence> <group ref="easm:AirspaceExtensionPropertyGroup"/> </sequence> </extension> </complexContent> </complexType> • A relationship is created with an abstract XML element that acts as the root for all extensions. UML to XSD – AIXM 5.1 mapping scripts

  29. AirspaceExtension • AirspaceExtensionType • AirspaceExtensionPropertyGroup AIXM 5.1 Mapping Rules - Extensions <element name="AirspaceExtension" type="easm:AirspaceExtensionType“ substitutionGroup="aixm:AbstractAirspaceExtension"/> UML to XSD – AIXM 5.1 mapping scripts

  30. Focus on AIXM Basic Message • Basic Message • is an AIXM 5.1 extension • contains just a collection of AIXM features UML to XSD – AIXM 5.1 mapping scripts

More Related