Help
About this documentation
This documentation is an auto-generated set of linked HTML pages that provide an overview of a domain-specific GML Application Schema model.
Detailed information about GML Application Schema development is beyond the scope of this help page, however the following section on the ISO/TC 211 Profile of UML (sourced from here) is provided to assist the reader in interpreting the behaviour of certain model Classes.
ISO/TC 211 Profile of UML
UML is the canonical notation used in the ISO 19100 series of standards for Geographic Information developed by ISO/TC 211. However, UML provides a rich palette, and even within class-diagrams the UML elements may be combined in a variety of ways to represent similar functions. In order to restrict the variability, a strict "profile" of UML is used. This is defined primarily in ISO 19103, with some contextual clarification in ISO 19109, 19118 and 19136.
The key constraints for our purposes are:
- a rolename is required on every navigable association end
- the default cardinality for a navigable association end or attribute is [1]
- standard stereotypes are used for packages and classes, according to the following table (adapted from ISO 19136/GML 3.2 Annex E)
The first set of stereotypes corresponds primarily the set described in Table E.1 of ISO 19136:2007 (GML 3.2.1), and are suitable for a domain model that is ready for direct conversion to XML as a GML Application Schema.
Stereotype name | Scope | Use | XML Implementation |
---|---|---|---|
<<ApplicationSchema>> / <<applicationSchema>> | Package | Complete application schema | An XML Schema in a single XML namespace |
<<FeatureType>> / <<featureType>> | Class | Feature-type | XML element whose XML Schema-type is derived from gml:AbstractFeatureType |
<<Type>> / <<type>> | Class | Referenceable objects other than features | XML element whose XML Schema-type is derived from gml:AbstractGMLType |
<<DataType>> / <<dataType>> | Class | Structured data type | XML element with a complex content model; does not have identity and must appear inline |
<<Union>> / <<union>> | Class | Arbitrary set of alternative classes | Choice group whose members are GML Objects or Features, or objects corresponding to DataTypes |
<<CodeList>> / <<codeList>> | Class | Extensible enumeration | Union of an enumeration of string values and a pattern |
<<Enumeration>> / <<enumeration>> | Class | Fixed enumeration | Enumeration of string values |
Some additional stereotypes have been found useful in domain modelling. These are packaged as a separate "UML Profile" for use in the HollowWorld environment.
Stereotype name | Scope | Use | XML Implementation |
---|---|---|---|
<<Leaf>> / <<leaf>> | Package | Convenient group of elements within an application schema | Single XML Schema document |
<<PrimitiveType>> / <<primitiveType>> | Class | Structured data type | Class which has a "canonical" pre-defined XML encoding |
<<property>> | attribute, associationRole | Property | Local element (a) having a simple type (b) containing a complex type, or (c) using the GML in-line or by-reference pattern |
<<multipleInheritance>> | Generalization | Multiple Inheritance | To accommodate tagged values required for XML Schema implementation |
List of known documentation limitations
- Properties (i.e. attributes and associations) that are inherited from externally governed classes are not shown in class details
-
Local Subclasses:
(as listed on Class Details pages) include only the direct descendants of the class. (i.e. deeper levels of genralization are not listed) - Class Details page only indicates
extends
for a single parent. (i.e. multiple inheritance is not yet supported) - Documentation of nested <<Application Schema>> packages is not yet supported. Currently the rule suite expects a parent <<Application Schema>> with child <<Leaf>> packages