Title: GML Model and Syntax
1GML Model and Syntax
- Courtesy of Galdos Systems Inc
- This presentation provides a short GML basic
concept review, which is intended to facilitate
the understanding of the AIXM Schema structure.
2GML Model and Syntax
- Topics
- GML model Object-Property-Value
- XML Syntax representation
- Lexical conventions
3GML Conceptual Model
- The basic constructs of the GML data model are
object and property. - GML object - an entity represents a real word
entity but with a more generic meaning to
represent any meaningful thing in an application
context. - GML property - an attribute of objects or
relationships between entity objects.
4XML Syntax Representation
- A GML object is encoded as an XML element with a
type definition that is derived from the GML
predefined type gmlAbstractGMLType. - The properties of the GML object are represented
as sub-elements of the corresponding GML object
element.
5Example GML Representation
ltRoadgt ltnamegtlt/namegt ltnumOfLanesgt lt/numOfL
anesgt ltshapegtlt/shapegt lt/Roadgt
Road
name
numOfLanes
shape
GML Representation of Road Feature
6Property Value RepresentationInline
- Inline the value of the property is encoded as
content of the property element. - simple valued property the value is encoded as
XML text content of the property element - complex valued property the value is encoded as
a sub-element of the property element.
7Example for Value Representation
Simple value encoded as text content
ltRoadgt ltgmlnamegtCambie Streetlt/gmlnamegt
ltnumOfLanesgt4lt/numOfLanesgt ltshapegt
ltgmlLineStringgt lt/gmlLineStringgt
lt/shapegt lt/Roadgt
Complex value encoded as a sub-element
8Property Value Representation By Reference
- By reference the value is identified by
xlinkhref.
ltObjectAgt ltproperty1 xlinkhrefhttp//www.el
sewhere.org/remoteGML.xmlB_1/gt ltproperty2
xlinkhrefRoad_1gt lt/ObjectAgt ltRoad
gmlidRoad_1gt ltgmlnamegt lt/Roadgt
ltObjectB gmlidB_1gt ltpropertyb1gt ltpropertyb2gt
lt/ObjectBgt
9Property Value RepresentationMultiple-Valued
Property (Possibilities)
- ltObjectElementgt
- ltmultipleValuedPropertygt
- ltValueObjectgt
- ltValueObjectgt
-
- ltValueObjectgt
- lt/multipleValuedPropertygt
- lt/ObjectElementgt
- Note Single property element with multiple value
objects as itd content.
ltObjectElementgt ltmultipleValuedPropertygt ltValue
Objectgt lt/multipleValuedPropertygt ltmultipleValue
dPropertygt ltValueObjectgt lt/multipleValuedProper
tygt lt/ObjectElementgt Note multiple property
elements, each of them contains a single value
object.
10Ownership of Property Values
- The owns attribute may be added to property
elements to indicate whether the value is owned
by the parent object. - ltObjectElementgt
- ltpropertyElement ownstruegt
- ltValueObjectgt
- lt/propertyElementgt
- lt/ObjectElementgt
- The true value of the attribute owns
indicates the ltValueObjectgt. - is owned by the ltObjectElementgt.
- delete ltObjectElementgt delete ltValueObjectgt
11Lexical Convention
- Object names UpperCamelCase
- Property names lowerCamelCase
- Abstract object names Abstract object name
- Abstract property names abstract property
name - Complex type names UpperCamelCase Type
- Abstract complex type names Abstract
complex type name
12XML Tree Structure for GML Object
- ltObjectgt
- ltproperty1gtsimple valued lt/property1gt
- ltproperty2 ownstruegt
- ltValueObjectgtlt/ValueObjectgt
- lt/property2gt
- ltproperty3 ownsfalse xlinkhrefgt
-
- lt/Objectgt