AIXM 5.1 XML Developers' Seminar #2 – Dec 2009

Slides:



Advertisements
Similar presentations
1 Web Data Management XML Schema. 2 In this lecture XML Schemas Elements v. Types Regular expressions Expressive power Resources W3C Draft:
Advertisements

The European Organisation for the Safety of Air Navigation Open session AIXM XML Developers' Seminar.
XML Examples AIXM 5 RC2.
The European Organisation for the Safety of Air Navigation AIXM 5.1 – Business rules AIXM XML Developers' Seminar.
SDPL 2003Notes 2: Document Instances and Grammars1 2.5 XML Schemas n A quick introduction to XML Schema –W3C Recommendation, May 2, 2001: »XML Schema Part.
XML Schemas and Namespaces Lecture 11, 07/10/02. BookStore.dtd.
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
Manohar – Why XML is Required Problem: We want to save the data and retrieve it further or to transfer over the network. This.
National Coastal Data Development Center A division of the National Oceanographic Data Center Please a list of participants at each location to
1 CIM User Group Conference Call december 8th 2005 Using UN/CEFACT Core Component methodology for EIC/TC 57 works and CIM Jean-Luc SANSON Electrical Network.
UML to XSD Implementation
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation XML Schema 1 Lecturer.
1 Enterprise IT [Πληροφοριακές Τεχνολογίες της Επιχείρησης] Lecture 6-9: XSD Overview Univ. of the Aegean Financial and Management Engineering Dpt Petros.
Dr. Azeddine Chikh IS446: Internet Software Development.
Neminath Simmachandran
XML and friends Part 2 - XML Schema ELAG 2001 workshop 8 Jan Erik Kofoed © BIBSYS Library Automation.
Presented to: AIXM Developer’s Seminar By: Navin Vembar Date: January 14, 2010 Federal Aviation Administration Changes in AIXM 5.1 from AIXM 5.0.
IVOA Registry videocon 2004/05/13-14 Gerard Lemson1 Model based schema.
UML to XSD. Assumptions Basic Understanding of UML Basic Understanding of XML Basic Understanding of XSD schemas Basic Understanding of UML Basic Understanding.
XML Schema. Why Schema? To define a class of XML documents Serve same purpose as DTD “Instance document" used for XML document conforming to schema.
XSDL & Relax : 2 new schema languages for XML Rajasekar Krishnamurthy.
An OO schema language for XML SOX W3C Note 30 July 1999.
AIXM 5 Metadata. Requirements for AIXM Metadata AIXM Metadata Model Examples Requirements for AIXM Metadata AIXM Metadata Model Examples.
Part One Review Policy Intro to ISO Levels of Metadata Data Discovery.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
Sheet 1XML Technology in E-Commerce 2001Lecture 2 XML Technology in E-Commerce Lecture 2 Logical and Physical Structure, Validity, DTD, XML Schema.
XSD Presented by Kushan Athukorala. 2 Agenda XML Namespaces XML Schema XSD Indicators XSD Data Types XSD Schema References.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
XML Schema. Why Validate XML? XML documents can generally have any structure XML grammars define specific document structures Validation is the act of.
The European Organisation for the Safety of Air Navigation ADQ, INSPIRE and Metadata AIXM 5.1 Seminar.
Processing of structured documents Spring 2003, Part 3 Helena Ahonen-Myka.
Geography Markup Language (GML). What is GML? – Scope  The Geography Markup Language is  a modeling language for geographic information  an encoding.
XML Schema (W3C) Thanks to Jussi Pohjolainen TAMK University of Applied Sciences.
Introduction to XML Schema John Arnett, MSc Standards Modeller Information and Statistics Division NHSScotland Tel: (x2073)
XML Schema Definition (XSD). Definition of a Schema It is a model for describing the structure and content of data The XML Schema was developed as a content.
The European Organisation for the Safety of Air Navigation AIXM UML to XSD AIXM XML Developers' Seminar.
UML Basics and XML Basics Navigating the ISO Standards.
Geography Markup Language (GML). GML What is GML? – Scope  The Geography Markup Language is  a modeling language for geographic information  an encoding.
AIXM 5 UML Modelling Conventions. AIXM is GML AIXM is an XML exchange standard based on a subset of GML. Essentially: –AIXM Features are GML features.
AIXM XML Schema aspects. Copyright EUROCONTROL 2011 AIXM 5 – Design Objectives Capabilities Extensibility Flexible Exchange Flexible Messages Static and.
XML Schema Lecture 3. Indicators There are seven indicators: Order indicators: All Choice Sequence Occurrence indicators: maxOccurs minOccurs Group indicators:
Using XML Schema to define NETCONF Content Sharon Chisholm Alex Clemm TJ Tjong
4 Copyright © 2004, Oracle. All rights reserved. Validating XML by Using XML Schema.
Changes in AIXM 5.1 from AIXM 5.0
OGP Seabed Survey Data Model (SSDM)
AIXM XML Developers' Seminar
AIXM 5 UML to XSD.
The Movement To Objects
Course Outcomes of Object Oriented Modeling Design (17630,C604)
ACG 4401 XML Schemas XML Namespaces XLink.
XML Examples AIXM 5 RC2.
Object-Oriented Analysis and Design
Modelling approaches for EO application schema
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
UML to XSD.
AIXM CCB meeting EUROCONTROL HQ, Brussels
AIXM 5 Overview xNOTAM Workshop #2 Brussels, November 2007
AIXM 5 Development Status
Raphael Malyankar; Eivind Mong
Digital AIM Training - AIXM
XML Examples AIXM 5 RC2.
AIXM 5 UML Modelling Conventions
Digital AIM Training - AIXM
AIXM 5.2 – CP in Lot 2 AIXM CCB – Brussels, 06 MAR 2019.
AIXM Seminar 2009, December 15th
New Applications Modeled
AIXM scripts and plannning
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
New Perspectives on XML
Presentation transcript:

AIXM 5.1 XML Developers' Seminar #2 – Dec 2009 13/05/2018 AIXM 5.1 - UML to XSD AIXM 5.1 XML Developers' Seminar #2 – Dec 2009 Enter here your Presentation Title

Content Overview of AIXM files Mapping rules for Datatypes 13/05/2018 Content Overview of AIXM files Mapping rules for Datatypes Mapping rules for Features Presentation AIXM scripts Creation of an extension http://en.wikipedia.org/wiki/Representational_State_Transfer AIXM 5.1 - UML to XSD Enter here your Presentation Title

Overview of AIXM files GML 3.2 AIXM 5.1 W3C xlink includes GML 3.2 ISO 19139 metadata schema W3C xlink AIXM 5.1 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 AIXM 5.1 - UML to XSD

Overview of AIXM files AIXM 5.1 UML AIXM 5.1 XSD 13/05/2018 Overview of AIXM files AIXM 5.1 UML AIXM 5.1 Mapping Rules AIXM 5.1 XSD 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 AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 - UML to XSD Mapping Rules - Datatypes

AIXM 5.1 Mapping Rules - Datatypes Mapping <<enumeration>> <simpleType name="CodeAircraftEngineBaseType"> <union> <simpleType> <restriction base="xsd:string"> <enumeration value="JET"> <annotation> <documentation/> </annotation> </enumeration> <enumeration value="PISTON"/> <enumeration value=“TURBOPROP"/> <enumeration value=“ALL"/> </restriction> </simpleType> <restriction base="string"> <pattern value="OTHER:\w{2,58}"/> </union> NEW AIXM 5.1 - NEW AIXM 5.1 - AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - Datatypes Mapping <<codelist>> <simpleType name="CodeApproachLightingBaseType"> <union> <simpleType> <restriction base="xsd:string"> <enumeration value="ALSAF"> </enumeration> <enumeration value="MALS"> <enumeration value="MALSR"> <enumeration value="SALS"> ...... </restriction> </simpleType> <restriction base="string"> -- NO PATTERN -- </union> AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - Datatypes Mapping <<datatype>> - default case <simpleType name="DateBaseType"> <restriction base="xsd:date"> </restriction> </simpleType> AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - NilReason Most of AIXM 5.1 Data Types define a nilReason, used to indicate the reason for a null value. NEW AIXM 5.1 - NEW AIXM 5.1 - NEW AIXM 5.1 - NEW AIXM 5.1 - NEW AIXM 5.1 - NEW AIXM 5.1 - AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - NilReason <simpleType name="CodeAircraftEngineBaseType"> <union> <simpleType> <restriction base="xsd:string"> <enumeration value="JET"> …………………….. </restriction> </simpleType> <restriction base="string"> <pattern value="OTHER:\w{2,58}"/> </union> Mapping nilReason NEW AIXM 5.1 - NEW AIXM 5.1 - <complexType name="CodeAircraftEngineType"> <simpleContent> <extension base="aixm:CodeAircraftEngineBaseType"> <attribute name="nilReason“ type="aixm:NilReasonType"/> </extension> </simpleContent> </complexType> AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - UOM Mapping Units of Measurement <simpleType name=“ValDepthBaseType"> <restriction base="xsd:decimal"> </restriction> </simpleType> <complexType name="ValDepthType"> <simpleContent> <extension base="aixm:ValDepthBaseType"> <attribute name="nilReason" type="aixm:NilReasonType"/> <attribute name="uom" type="aixm:UomDepthType" use="required"/> </extension> </simpleContent> </complexType> AIXM 5.1 - UML to XSD

AIXM 5.1 - UML to XSD Mapping Rules - Features

AIXM 5.1 Mapping Rules - Features 13/05/2018 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 --> 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 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 --> Instead, in a compliant GML application schema, an association between two features (or a feature and an object) is implemented over a property of the feature, e.g. <hasReferencePoint> <!-- property --> 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. Within the AIXM XML Schema, inheritance implies two characteristics: 1. Substitutability. The more general feature or object can be substituted by a specialization. In the XML schema this is supported using substitution groups. 2. Property inheritance. The specialized feature inherits all of the properties of the more general feature. In the XML schema <AirportHeliport> <!-- feature --> <hasReferencePoint> <!-- property --> <ElevatedPoint> <!-- object --> AIXM 5.1 - UML to XSD Enter here your Presentation Title

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 rules 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 AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <group name="RunwayPropertyGroup"> <sequence> <element name="designator“ type="aixm:TextDesignatorType" nillable="true" minOccurs="0"> <annotation> <documentation>The full textual designator of the runway, used to uniquely identify it at an aerodrome/heliport which has more than one. E.g. 09/27, 02R/20L, RWY 1. </documentation> </annotation> </element> <element name="type" type="aixm:CodeRunwayType" nillable="true" minOccurs="0"> [………………] </sequence> </group> It shows clearly how the attributes are mapped from the UML to the XSD and how the relationship ‘associatedAirportHeliport’ is created. It also illustrates the presence of the nilReason attribute. UML properties are mapped into FeaturePropertyGroup AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <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> AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup UML properties are mapped into FeaturePropertyGroup <group name="RunwayPropertyGroup"> <sequence> <element name="designator" type="aixm:TextDesignatorType" nillable="true" minOccurs="0"> [………………] <element name="type" type="aixm:CodeRunwayType" nillable="true" minOccurs="0"> <element name="associatedAirportHeliport" type="aixm:AirportHeliportPropertyType" nillable="true" minOccurs="0"> </sequence> </group> AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup 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> <element ref="aixm:AbstractRunwayExtension"/> </sequence> <attributeGroup ref="gml:OwnershipAttributeGroup"/> </complexType> </element> </extension> </complexContent> The properties of a feature or the target of any feature relationship can change within the lifetime of the feature. This temporality can be expressed in GML by using dynamic features and feature collections. The TimeSlice property of a dynamic feature contains one or more Feature TimeSlices that capture the evolution of the feature over time. A gml:TimeSlice object contains the dynamic properties of the feature. For each feature a TimeSlice property is created that contains an array of feature TimeSlice objects. This example shows the RunwayTimeSliceType encapsulating all of the Runway properties (RunwayPropertyGroup created above) that change over time. AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <element name="RunwayTimeSlice" type="aixm:RunwayTimeSliceType" substitutionGroup="gml:AbstractTimeSlice"/> The FeatureTimeSlice object is of type FeatureTimeSliceType. Continuing the example, the RunwayTimeSlice element is of type RunwayTimeSliceType. RunwayTimeSlice element is of type RunwayTimeSliceType. AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <complexType name="RunwayTimeSlicePropertyType"> <sequence> <element ref="aixm:RunwayTimeSlice"/> </sequence> <attributeGroup ref="gml:OwnershipAttributeGroup"/> </complexType> A GML property type containing a FeatureTimeSlice objects is created. A GML property type containing a FeatureTimeSlice objects is created. AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <complexType name="RunwayType"> <complexContent> <extension base="aixm:AbstractAIXMFeatureType"> <sequence> <element name="timeSlice" type="aixm:RunwayTimeSlicePropertyType" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> Continuing with the object-property model, the Runway feature type is created extending the AbstractAIXMFeatureType with the RunwayTimeSlice object created above. The Runway feature type is created extending the AbstractAIXMFeatureType with the RunwayTimeSlice object created before. AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <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. The Runway feature is then defined by the RunwayType. AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules - Features 13/05/2018 AIXM 5.1 Mapping Rules - Features RunwayPropertyType Runway RunwayType RunwayTimeSlicePropertyType RunwayTimeSlice RunwayTimeSliceType RunwayPropertyGroup <complexType name="RunwayPropertyType"> <attributeGroup ref="gml:OwnershipAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/> </complexType> When a property of a feature is a relationship, the relationship must be associated to another feature or object. This is done through the creation of the FeaturePropertyType, in this case, the RunwayPropertyType. In AIXM, when the relationship or association points to another feature, the feature is referenced using the xlink:href attribute (it’s always a “remote” encoding). When the relationship points to an object, the object is included inside the parent. (Objects cannot exist without the parent.) Since a Runway is a feature the RunwayPropertyType is created with the attribute xlink:href . Used for relationship to feature Runway Provides the xlink:href attribute AIXM 5.1 - UML to XSD Enter here your Presentation Title

AIXM 5.1 Mapping Rules – Other cases Mapping Associations with Association Classes <<datatype>> with no BaseType <<enumeration>> CodeNilReasonType <<datatype>> TextXHTMLBaseType Please refer to AIXM documentation: AIXM - UML to XML Schema Mapping AIXM 5.1 - UML to XSD

AIXM 5.1 - UML to XSD AIXM Scripts

AIXM 5.1 - UML to XSD Walkthrough AIXM 5.1 XSD Schemas

AIXM 5.1 - UML to XSD Creation of an extension

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. AIXM 5.1 - UML to XSD

UML Extension Extensions shall NOT be included in the core AIXM packages AIXM 5.1 - UML to XSD

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> <element ref="aixm:AbstractAirspaceExtension"/> […………….] AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - Extensions AirspaceExtension AirspaceExtensionType AirspaceExtensionPropertyGroup <group name="AirspaceExtensionPropertyGroup"> <sequence> <element name="flexibleUse“ type=“CodeYesNoType” nillable="true" minOccurs="0"> […………….] <element name="level1“ type=“CodeYesNoType” nillable="true" minOccurs="0"> […………….] </sequence> </group> AIXM 5.1 - UML to XSD

AIXM 5.1 Mapping Rules - Extensions AirspaceExtension AirspaceExtensionType AirspaceExtensionPropertyGroup <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. AIXM 5.1 - UML to XSD

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

Focus on AIXM Basic Message is an AIXM 5.1 extension contains just a collection of AIXM features AIXM 5.1 - UML to XSD

Questions ?