UML to XSDImplementation
UML to XSDImplementation
ToolsModeling, Conversion & Validation
ToolsModeling, Conversion & Validation
•UML Model Tools
•Rational Rose
•UML to XSD Conversion Tools
•Rational Rose Scripting
•.Net Utilities
•XSD Tools
•Editing and validation
•XML Spy
•XERCES
ToolsUML Modeling
ToolsUML Modeling
•UML Model Tools
•Rational Rose
•Used for:
•AIXM Modeling
•Application Schema Modeling
ToolsXSD Conversion – Custom Tools
ToolsXSD Conversion – Custom Tools
•XSD Conversion Tools
•Rational Rose Scripting - Custom
•.Net Utilities – Custom
•Used to:
•Create data type XSD file
•Create AIXM schema XSD file
•Create Application Schema XSD files
ToolsXSD ToolsTools
XSD Tools
•Editing and validation
•XML Spy
•XERCES
•MSXML
•Used to:
•View XSD and XML files
•Validate XSD and XML files
XSDXSD
•Application Schema
•Application Schema Data types
•AIXM Schema (AIXM-Feature.xsd)
•AIXM Data types (AIXM-DataTypes.xsd)
•AIXM Abstract Schema (AIXM-AbstractGML-ObjectTypes.xsd)
•GML 3.11 Subset (./profile/gml4aixm.xsd)
•ISO 19139 – Metadata (./iso19139/…/*.xsd)
•W3C XLINKS (./xlink/xlink.xsd)
Application Schema - XSDApplication Schema - XSD
An application schema inherits AIXM and may extend AIXM for specific data needs.
An application schema consists of:Imports and Includes of AIXM and related schemasA message collection elementA member feature array elementOne or more feature or object elements
An application schema inherits AIXM and may extend AIXM for specific data needs.
An application schema consists of:Imports and Includes of AIXM and related schemasA message collection elementA member feature array elementOne or more feature or object elements
Application Schema XMLApplication Schema XML
• An application schema xml file consists of– A schema message collection element
• Message collection is the document root• Message collection detail elements
– A members feature array element• One or more features/objects
– Feature/object detail elements
• An application schema xml file consists of– A schema message collection element
• Message collection is the document root• Message collection detail elements
– A members feature array element• One or more features/objects
– Feature/object detail elements
XMLDocument Root
XMLDocument Root
• Root element is a <feature>
• Contains details about the collection element
• Contains a feature member array element
• Example – <USNSTransmittalMessageCollection gml:id="_001“>– </USNSTransmittalMessageCollection>
• Root element is a <feature>
• Contains details about the collection element
• Contains a feature member array element
• Example – <USNSTransmittalMessageCollection gml:id="_001“>– </USNSTransmittalMessageCollection>
XMLMember Array Element
XMLMember Array Element
• Member array contains one or more feature members
• Element example– <members_AIXMFeature>– </members_AIXMFeature>
• Member array contains one or more feature members
• Element example– <members_AIXMFeature>– </members_AIXMFeature>
XMLMember Array has features/objects
XMLMember Array has features/objects
• Member array contains one or more feature/object elements
• Using the NOTAM example, there would be one or more NOTAM Transmittal Message and/or Runway elements
• Example– <USNSTransmittalMessage gml:id="_002">– </USNSTransmittalMessage>
• Example– <aixm:Runway gml:id="_004">– </aixm:Runway>
• Member array contains one or more feature/object elements
• Using the NOTAM example, there would be one or more NOTAM Transmittal Message and/or Runway elements
• Example– <USNSTransmittalMessage gml:id="_002">– </USNSTransmittalMessage>
• Example– <aixm:Runway gml:id="_004">– </aixm:Runway>
NOTAM XML OutlineNOTAM XML Outline
• <USNSTransmittalMessageCollection gml:id="_001“><-- Message collection details omitted -->
– <members_AIXMFeature>• <USNSTransmittalMessage gml:id="_002">
<-- Transmittal message details omitted -->
• </USNSTransmittalMessage>• <aixm:Runway gml:id="_004">
<-- Runway element details omitted -->
• </aixm:Runway>– </members_AIXMFeature>
• </USNSTransmittalMessageCollection>
• <USNSTransmittalMessageCollection gml:id="_001“><-- Message collection details omitted -->
– <members_AIXMFeature>• <USNSTransmittalMessage gml:id="_002">
<-- Transmittal message details omitted -->
• </USNSTransmittalMessage>• <aixm:Runway gml:id="_004">
<-- Runway element details omitted -->
• </aixm:Runway>– </members_AIXMFeature>
• </USNSTransmittalMessageCollection>
XSD and XMLdetailed examples
XSD and XMLdetailed examples
See NOTAM XSDs
USNS-Transmittal.xsdUSNS-Transmittal-Datatypes.xsd
See Sample NOTAM Message xml
Example Runway NOTAMS Collection – 2 msg 2 Runway.xml
See NOTAM XSDs
USNS-Transmittal.xsdUSNS-Transmittal-Datatypes.xsd
See Sample NOTAM Message xml
Example Runway NOTAMS Collection – 2 msg 2 Runway.xml
Web ServicesWeb Services
• Consume and provide XML using the application schema
• Web service standards should be used
• Prototype being developed with Digital NOTAMs and Obstacles
• Consume and provide XML using the application schema
• Web service standards should be used
• Prototype being developed with Digital NOTAMs and Obstacles
AIXM UML-XSD ImplementationAIXM UML-XSD Implementation
• Summary– Build an application schema
• Import AIXM and related schemas• Extend AIXM as necessary• Validate the schema
– Build application XML• Create XML data (via database, application, web service, etc.)
• Utilize application schema to validate XML• Done
• Summary– Build an application schema
• Import AIXM and related schemas• Extend AIXM as necessary• Validate the schema
– Build application XML• Create XML data (via database, application, web service, etc.)
• Utilize application schema to validate XML• Done