geometryBasic0d1d

Table of Contents

top

Schema Document Properties

Target Namespacehttp://www.opengis.net/gml
Version3.2.0
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema includes components from the following schema document(s):
DocumentationSee ISO/DIS 19136 Clause 10. Any geometry element that inherits the semantics of AbstractGeometryType may be viewed as a set of direct positions. All of the classes derived from AbstractGeometryType inherit an optional association to a coordinate reference system. All direct positions shall directly or indirectly be associated with a coordinate reference system. When geometry elements are aggregated in another geometry element (such as a MultiGeometry or GeometricComplex), which already has a coordinate reference system specified, then these elements are assumed to be in that same coordinate reference system unless otherwise specified. The geometry model distinguishes geometric primitives, aggregates and complexes. Geometric primitives, i.e. instances of a subtype of AbstractGeometricPrimitiveType, will be open, that is, they will not contain their boundary points; curves will not contain their end points, surfaces will not contain their boundary curves, and solids will not contain their bounding surfaces.
Application DatageometryBasic0d1d.xsd
More information at: urn:ogc:specification:gml:schema-xsd:geometryBasic0d1d:3.2.0.

Declared Namespaces

PrefixNamespace
Default namespacehttp://www.w3.org/2001/XMLSchema
xmlhttp://www.w3.org/XML/1998/namespace
xlinkhttp://www.w3.org/1999/xlink
gmlhttp://www.opengis.net/gml
schhttp://www.ascc.net/xml/schematron
Schema Component Representation
<schema targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.2.0">
<include schemaLocation="measures.xsd"/>
...
</schema>
top

Global Declarations

Element: AbstractCurve

NameAbstractCurve
Typegml:AbstractCurveType
Nillableno
Abstractyes
DocumentationThe AbstractCurve element is the abstract head of the substitution group for all (continuous) curve elements.
XML Instance Representation
<gml:AbstractCurve
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
</gml:AbstractCurve>
Schema Component Representation
<element name="AbstractCurve" type="gml:AbstractCurveType" abstract="true" substitutionGroup="gml:AbstractGeometricPrimitive"/>
top

Element: AbstractGeometricPrimitive

NameAbstractGeometricPrimitive
Typegml:AbstractGeometricPrimitiveType
Nillableno
Abstractyes
DocumentationThe AbstractGeometricPrimitive element is the abstract head of the substitution group for all (pre- and user-defined) geometric primitives.
XML Instance Representation
<gml:AbstractGeometricPrimitive
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
</gml:AbstractGeometricPrimitive>
Schema Component Representation
<element name="AbstractGeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" substitutionGroup="gml:AbstractGeometry"/>
top

Element: AbstractGeometry

NameAbstractGeometry
Typegml:AbstractGeometryType
Nillableno
Abstractyes
DocumentationThe AbstractGeometry element is the abstract head of the substitution group for all geometry elements of GML. This includes pre-defined and user-defined geometry elements. Any geometry element shall be a direct or indirect extension/restriction of AbstractGeometryType and shall be directly or indirectly in the substitution group of AbstractGeometry.
XML Instance Representation
<gml:AbstractGeometry
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
</gml:AbstractGeometry>
Schema Component Representation
<element name="AbstractGeometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:AbstractGML"/>
top

Element: Envelope

  • This element can be used wherever the following element is referenced:
NameEnvelope
Typegml:EnvelopeType
Nillableno
Abstractno
DocumentationEnvelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. The first direct position is the "lower corner" (a coordinate position consisting of all the minimal ordinates for each dimension for all points within the envelope), the second one the "upper corner" (a coordinate position consisting of all the maximal ordinates for each dimension for all points within the envelope). The use of the properties “coordinates” and “pos” has been deprecated. The explicitly named properties “lowerCorner” and “upperCorner” shall be used instead.
XML Instance Representation
<gml:Envelope
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
Start Choice [1]
<gml:lowerCorner> gml:DirectPositionType </gml:lowerCorner> [1]
<gml:upperCorner> gml:DirectPositionType </gml:upperCorner> [1]
<gml:pos> ... </gml:pos> [2..2]
<gml:coordinates> ... </gml:coordinates> [1]
End Choice
</gml:Envelope>
Schema Component Representation
<element name="Envelope" type="gml:EnvelopeType" substitutionGroup="gml:AbstractObject"/>
top

Element: LineString

  • This element can be used wherever the following element is referenced:
NameLineString
Typegml:LineStringType
Nillableno
Abstractno
DocumentationA LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate tuples, with linear interpolation between them. The number of direct positions in the list shall be at least two.
XML Instance Representation
<gml:LineString
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
Start Choice [1]
Start Choice [2..*]
<gml:pos> ... </gml:pos> [1]
<gml:pointProperty> ... </gml:pointProperty> [1]
<gml:pointRep> ... </gml:pointRep> [1]
End Choice
<gml:posList> ... </gml:posList> [1]
<gml:coordinates> ... </gml:coordinates> [1]
End Choice
</gml:LineString>
Schema Component Representation
<element name="LineString" type="gml:LineStringType" substitutionGroup="gml:AbstractCurve"/>
top

Element: Point

NamePoint
Typegml:PointType
Nillableno
Abstractno
DocumentationA Point is defined by a single coordinate tuple. The direct position of a point is specified by the pos element which is of type DirectPositionType.
XML Instance Representation
<gml:Point
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
Start Choice [1]
<gml:pos> ... </gml:pos> [1]
<gml:coordinates> ... </gml:coordinates> [1]
End Choice
</gml:Point>
Schema Component Representation
<element name="Point" type="gml:PointType" substitutionGroup="gml:AbstractGeometricPrimitive"/>
top

Element: coordinates

Namecoordinates
Typegml:CoordinatesType
Nillableno
Abstractno
Application Datadeprecated
XML Instance Representation
<gml:coordinates
decimal="string [0..1]"
cs="string [0..1]"
ts="string [0..1]">
string
</gml:coordinates>
Schema Component Representation
<element name="coordinates" type="gml:CoordinatesType"/>
top

Element: curveArrayProperty

NamecurveArrayProperty
Typegml:CurveArrayPropertyType
Nillableno
Abstractno
DocumentationThis property element contains a list of curve elements. curveArrayProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for a list of curves.
XML Instance Representation
<gml:curveArrayProperty
owns="boolean [0..1]">
Start Sequence [0..*]
<gml:AbstractCurve> ... </gml:AbstractCurve> [1]
End Sequence
</gml:curveArrayProperty>
Schema Component Representation
<element name="curveArrayProperty" type="gml:CurveArrayPropertyType"/>
top

Element: curveProperty

NamecurveProperty
Typegml:CurvePropertyType
Nillableno
Abstractno
DocumentationThis property element either references a curve via the XLink-attributes or contains the curve element. curveProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for AbstractCurve.
XML Instance Representation
<gml:curveProperty
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"
owns="boolean [0..1]">
Start Sequence [0..1]
<gml:AbstractCurve> ... </gml:AbstractCurve> [1]
End Sequence
</gml:curveProperty>
Schema Component Representation
<element name="curveProperty" type="gml:CurvePropertyType"/>
top

Element: pointArrayProperty

NamepointArrayProperty
Typegml:PointArrayPropertyType
Nillableno
Abstractno
DocumentationThis property element contains a list of point elements. pointArrayProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for a list of points.
XML Instance Representation
<gml:pointArrayProperty
owns="boolean [0..1]">
Start Sequence [0..*]
<gml:Point> ... </gml:Point> [1]
End Sequence
</gml:pointArrayProperty>
Schema Component Representation
<element name="pointArrayProperty" type="gml:PointArrayPropertyType"/>
top

Element: pointProperty

NamepointProperty
Typegml:PointPropertyType
Nillableno
Abstractno
DocumentationThis property element either references a point via the XLink-attributes or contains the point element. pointProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for Point.
XML Instance Representation
<gml:pointProperty
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"
owns="boolean [0..1]">
Start Sequence [0..1]
<gml:Point> ... </gml:Point> [1]
End Sequence
</gml:pointProperty>
Schema Component Representation
<element name="pointProperty" type="gml:PointPropertyType"/>
top

Element: pointRep

NamepointRep
Typegml:PointPropertyType
Nillableno
Abstractno
Application Datadeprecated
XML Instance Representation
<gml:pointRep
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"
owns="boolean [0..1]">
Start Sequence [0..1]
<gml:Point> ... </gml:Point> [1]
End Sequence
</gml:pointRep>
Schema Component Representation
<element name="pointRep" type="gml:PointPropertyType"/>
top

Element: pos

Namepos
Typegml:DirectPositionType
Nillableno
Abstractno
Application Data <sch:pattern name="CRS attributes constraints">
<sch:rule id="CRSLabelsPos">
<sch:report test="not(@srsDimension) or @srsName">
The presence of a dimension attribute implies the presence of the srsName attribute.
</sch:report>
<sch:report test="not(@axisLabels) or @srsName">
The presence of an axisLabels attribute implies the presence of the srsName attribute.
</sch:report>
<sch:report test="not(@uomLabels) or @srsName">
The presence of an uomLabels attribute implies the presence of the srsName attribute.
</sch:report>
<sch:report test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">
The presence of an uomLabels attribute implies the presence of the axisLabels attribute and vice versa.
</sch:report>
</sch:rule>
</sch:pattern>
XML Instance Representation
<gml:pos
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
gml:doubleList
</gml:pos>
Schema Component Representation
<element name="pos" type="gml:DirectPositionType"/>
top

Element: posList

NameposList
Typegml:DirectPositionListType
Nillableno
Abstractno
XML Instance Representation
<gml:posList
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]"
count="positiveInteger [0..1]">
gml:doubleList
</gml:posList>
Schema Component Representation
<element name="posList" type="gml:DirectPositionListType"/>
top

Element: vector

Namevector
Typegml:VectorType
Nillableno
Abstractno
XML Instance Representation
<gml:vector
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
gml:DirectPositionType
</gml:vector>
Schema Component Representation
<element name="vector" type="gml:VectorType"/>
top

Global Definitions

Attribute Group: SRSInformationGroup

NameSRSInformationGroup
DocumentationThe attributes uomLabels and axisLabels, defined in the SRSInformationGroup attribute group, are optional additional and redundant information for a CRS to simplify the processing of the coordinate values when a more complete definition of the CRS is not needed. This information shall be the same as included in the complete definition of the CRS, referenced by the srsName attribute. When the srsName attribute is included, either both or neither of the axisLabels and uomLabels attributes shall be included. When the srsName attribute is omitted, both of these attributes shall be omitted. The attribute axisLabels is an ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these axis labels, after spaces and forbidden characters are removed. When the srsName attribute is included, this attribute is optional. When the srsName attribute is omitted, this attribute shall also be omitted. The attribute uomLabels is an ordered list of unit of measure (uom) labels for all the axes of this CRS. The value of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and forbidden characters are removed. When the axisLabels attribute is included, this attribute shall also be included. When the axisLabels attribute is omitted, this attribute shall also be omitted.
XML Instance Representation
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]"
Schema Component Representation
<attributeGroup name="SRSInformationGroup">
<attribute name="axisLabels" type="gml:NCNameList"/>
<attribute name="uomLabels" type="gml:NCNameList"/>
</attributeGroup>
top

Attribute Group: SRSReferenceGroup

NameSRSReferenceGroup
DocumentationThe attribute group SRSReferenceGroup is an optional reference to the CRS used by this geometry, with optional additional information to simplify the processing of the coordinates when a more complete definition of the CRS is not needed. In general the attribute srsName points to a CRS instance of gml:AbstractCoordinateReferenceSystem. For well-known references it is not required that the CRS description exists at the location the URI points to. If no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of.
XML Instance Representation
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]"
Schema Component Representation
<attributeGroup name="SRSReferenceGroup">
<attribute name="srsName" type="anyURI"/>
<attribute name="srsDimension" type="positiveInteger"/>
<attributeGroup ref="gml:SRSInformationGroup"/>
</attributeGroup>
top

Complex Type: AbstractCurveType

Super-types:gml:AbstractGMLType < AbstractGeometryType (by extension) < AbstractGeometricPrimitiveType (by extension) < AbstractCurveType (by extension)
Sub-types:
NameAbstractCurveType
Abstractyes
Documentationgml:AbstractCurveType is an abstraction of a curve to support the different levels of complexity. The curve may always be viewed as a geometric primitive, i.e. is continuous.
XML Instance Representation
<...
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
</...>
Schema Component Representation
<complexType name="AbstractCurveType" abstract="true">
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>
top

Complex Type: AbstractGeometricPrimitiveType

Super-types:gml:AbstractGMLType < AbstractGeometryType (by extension) < AbstractGeometricPrimitiveType (by extension)
Sub-types:
NameAbstractGeometricPrimitiveType
Abstractyes
Documentationgml:AbstractGeometricPrimitiveType is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples.
XML Instance Representation
<...
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
</...>
Schema Component Representation
<complexType name="AbstractGeometricPrimitiveType" abstract="true">
<complexContent>
<extension base="gml:AbstractGeometryType"/>
</complexContent>
</complexType>
top

Complex Type: AbstractGeometryType

Super-types:gml:AbstractGMLType < AbstractGeometryType (by extension)
Sub-types:
NameAbstractGeometryType
Abstractyes
DocumentationAll geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute (gml:id), one or more names (elements identifier and name) and a description (elements description and descriptionReference) . It may be associated with a spatial reference system (attribute group gml:SRSReferenceGroup). The following rules shall be adhered to: - Every geometry type shall derive from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of AbstractGeometry.
XML Instance Representation
<...
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
</...>
Schema Component Representation
<complexType name="AbstractGeometryType" abstract="true">
<complexContent>
<extension base="gml:AbstractGMLType">
<attributeGroup ref="gml:SRSReferenceGroup"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: CurveArrayPropertyType

Super-types:None
Sub-types:None
NameCurveArrayPropertyType
Abstractno
DocumentationA container for an array of curves. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.
XML Instance Representation
<...
owns="boolean [0..1]">
Start Sequence [0..*]
<gml:AbstractCurve> ... </gml:AbstractCurve> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="CurveArrayPropertyType">
<sequence minOccurs="0" maxOccurs="unbounded">
<element ref="gml:AbstractCurve"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: CurvePropertyType

Super-types:None
Sub-types:None
NameCurvePropertyType
Abstractno
DocumentationA property that has a curve as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.
XML Instance Representation
<...
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"
owns="boolean [0..1]">
Start Sequence [0..1]
<gml:AbstractCurve> ... </gml:AbstractCurve> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="CurvePropertyType">
<sequence minOccurs="0">
<element ref="gml:AbstractCurve"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: DirectPositionListType

Super-types:gml:doubleList < DirectPositionListType (by extension)
Sub-types:None
NameDirectPositionListType
Abstractno
DocumentationposList instances (and other instances with the content model specified by DirectPositionListType) hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS). if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc. The optional attribute count specifies the number of direct positions in the list. If the attribute count is present then the attribute srsDimension shall be present, too. The number of entries in the list is equal to the product of the dimensionality of the coordinate reference system (i.e. it is a derived value of the coordinate reference system definition) and the number of direct positions.
XML Instance Representation
<...
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]"
count="positiveInteger [0..1]">
gml:doubleList
</...>
Schema Component Representation
<complexType name="DirectPositionListType">
<simpleContent>
<extension base="gml:doubleList">
<attributeGroup ref="gml:SRSReferenceGroup"/>
<attribute name="count" type="positiveInteger"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: DirectPositionType

Super-types:gml:doubleList < DirectPositionType (by extension)
Sub-types:None
NameDirectPositionType
Abstractno
DocumentationDirect position instances hold the coordinates for a position within some coordinate reference system (CRS). Since direct positions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the srsName attribute will in general be missing, if this particular direct position is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS. if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc.
XML Instance Representation
<...
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
gml:doubleList
</...>
Schema Component Representation
<complexType name="DirectPositionType">
<simpleContent>
<extension base="gml:doubleList">
<attributeGroup ref="gml:SRSReferenceGroup"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: EnvelopeType

Super-types:None
Sub-types:None
NameEnvelopeType
Abstractno
XML Instance Representation
<...
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
Start Choice [1]
<gml:lowerCorner> gml:DirectPositionType </gml:lowerCorner> [1]
<gml:upperCorner> gml:DirectPositionType </gml:upperCorner> [1]
<gml:pos> ... </gml:pos> [2..2]
<gml:coordinates> ... </gml:coordinates> [1]
End Choice
</...>
Schema Component Representation
<complexType name="EnvelopeType">
<choice>
<sequence>
<element name="lowerCorner" type="gml:DirectPositionType"/>
<element name="upperCorner" type="gml:DirectPositionType"/>
</sequence>
<element ref="gml:pos" minOccurs="2" maxOccurs="2"/>
<element ref="gml:coordinates"/>
</choice>
<attributeGroup ref="gml:SRSReferenceGroup"/>
</complexType>
top

Complex Type: GeometricPrimitivePropertyType

Super-types:None
Sub-types:None
NameGeometricPrimitivePropertyType
Abstractno
DocumentationA property that has a geometric primitive as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.
XML Instance Representation
<...
owns="boolean [0..1]"
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]">
Start Sequence [0..1]
<gml:AbstractGeometricPrimitive> ... </gml:AbstractGeometricPrimitive> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="GeometricPrimitivePropertyType">
<sequence minOccurs="0">
<element ref="gml:AbstractGeometricPrimitive"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
top

Complex Type: GeometryArrayPropertyType

Super-types:None
Sub-types:None
NameGeometryArrayPropertyType
Abstractno
DocumentationIf a feature has a property which takes an array of geometry elements as its value, this is called a geometry array property. A generic type for such a geometry property is GeometryArrayPropertyType. The elements are always contained inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.
XML Instance Representation
<...
owns="boolean [0..1]">
Start Sequence [0..*]
<gml:AbstractGeometry> ... </gml:AbstractGeometry> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="GeometryArrayPropertyType">
<sequence minOccurs="0" maxOccurs="unbounded">
<element ref="gml:AbstractGeometry"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: GeometryPropertyType

Super-types:None
Sub-types:None
NameGeometryPropertyType
Abstractno
DocumentationA geometric property may either be any geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same or another document). Note that either the reference or the contained element shall be given, but not both or none. If a feature has a property that takes a geometry element as its value, this is called a geometry property. A generic type for such a geometry property is GeometryPropertyType.
XML Instance Representation
<...
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"
owns="boolean [0..1]">
Start Sequence [0..1]
<gml:AbstractGeometry> ... </gml:AbstractGeometry> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="GeometryPropertyType">
<sequence minOccurs="0">
<element ref="gml:AbstractGeometry"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: LineStringType

Super-types:gml:AbstractGMLType < AbstractGeometryType (by extension) < AbstractGeometricPrimitiveType (by extension) < AbstractCurveType (by extension) < LineStringType (by extension)
Sub-types:None
NameLineStringType
Abstractno
XML Instance Representation
<...
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
Start Choice [1]
Start Choice [2..*]
<gml:pos> ... </gml:pos> [1]
<gml:pointRep> ... </gml:pointRep> [1]
End Choice
<gml:posList> ... </gml:posList> [1]
End Choice
</...>
Schema Component Representation
<complexType name="LineStringType">
<complexContent>
<extension base="gml:AbstractCurveType">
<sequence>
<choice>
<choice minOccurs="2" maxOccurs="unbounded">
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
<element ref="gml:pointRep"/>
</choice>
<element ref="gml:posList"/>
<element ref="gml:coordinates"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
top

Complex Type: PointArrayPropertyType

Super-types:None
Sub-types:None
NamePointArrayPropertyType
Abstractno
Documentationgml:PointArrayPropertyType is a container for an array of points. The elements are always contained inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.
XML Instance Representation
<...
owns="boolean [0..1]">
Start Sequence [0..*]
<gml:Point> ... </gml:Point> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="PointArrayPropertyType">
<sequence minOccurs="0" maxOccurs="unbounded">
<element ref="gml:Point"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: PointPropertyType

Super-types:None
Sub-types:None
NamePointPropertyType
Abstractno
DocumentationA property that has a point as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.
XML Instance Representation
<...
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"
owns="boolean [0..1]">
Start Sequence [0..1]
<gml:Point> ... </gml:Point> [1]
End Sequence
</...>
Schema Component Representation
<complexType name="PointPropertyType">
<sequence minOccurs="0">
<element ref="gml:Point"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: PointType

Super-types:gml:AbstractGMLType < AbstractGeometryType (by extension) < AbstractGeometricPrimitiveType (by extension) < PointType (by extension)
Sub-types:None
NamePointType
Abstractno
XML Instance Representation
<...
gml:id="[1]"
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
Start Choice [1]
<gml:pos> ... </gml:pos> [1]
End Choice
</...>
Schema Component Representation
<complexType name="PointType">
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType">
<sequence>
<choice>
<element ref="gml:pos"/>
<element ref="gml:coordinates"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
top

Complex Type: VectorType

Super-types:gml:doubleList < DirectPositionType (by extension) < VectorType (by restriction)
Sub-types:None
NameVectorType
Abstractno
DocumentationFor some applications the components of the position may be adjusted to yield a unit vector.
XML Instance Representation
<...
srsName="anyURI [0..1]"
srsDimension="positiveInteger [0..1]"
axisLabels="gml:NCNameList [0..1]"
uomLabels="gml:NCNameList [0..1]">
gml:DirectPositionType
</...>
Schema Component Representation
<complexType name="VectorType">
<simpleContent>
<restriction base="gml:DirectPositionType"/>
</simpleContent>
</complexType>
top

Model Group: geometricPositionGroup

NamegeometricPositionGroup
DocumentationGML supports two different ways to specify a geometric position: either by a direct position (a data type) or a point (a geometric object). pos elements are positions that are “owned” by the geometric primitive encapsulating this geometric position. pointProperty elements contain a point that may be referenced from other geometry elements or reference another point defined elsewhere (reuse of existing points).
XML Instance Representation
Start Choice [1]
<gml:pos> ... </gml:pos> [1]
<gml:pointProperty> ... </gml:pointProperty> [1]
End Choice
Schema Component Representation
<group name="geometricPositionGroup">
<choice>
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
</choice>
</group>
top

Model Group: geometricPositionListGroup

NamegeometricPositionListGroup
DocumentationGML supports two different ways to specify a list of geometric positions: either by a sequence of geometric positions (by reusing the group definition) or a sequence of direct positions (element posList). The posList element allows for a compact way to specify the coordinates of the positions, if all positions are represented in the same coordinate reference system.
XML Instance Representation
Start Choice [1]
<gml:posList> ... </gml:posList> [1]
Start Group: gml:geometricPositionGroup [1..*]
Start Choice [1]
<gml:pos> ... </gml:pos> [1]
<gml:pointProperty> ... </gml:pointProperty> [1]
End Choice
End Group: gml:geometricPositionGroup
End Choice
Schema Component Representation
<group name="geometricPositionListGroup">
<choice>
<element ref="gml:posList"/>
<group ref="gml:geometricPositionGroup" maxOccurs="unbounded"/>
</choice>
</group>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types:Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
NameAusAddress
Abstractno
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia">
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

Schema Component Representation
<complexTypename="AusAddress">
<complexContent>
<extensionbase="Address">
<sequence>
<elementname="state" type="AusStates"/>
<elementname="postcode">
<simpleType>
<restrictionbase="string">
<patternvalue="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attributename="country" type="string" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top