basicTypes

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.
DocumentationSee ISO/DIS 19136 8.2. W3C XML Schema provides a set of built-in “simple” types which define methods for representing values as literals without internal markup. These are described in W3C XML Schema Part 2:2001. Because GML is an XML encoding in which instances are described using XML Schema, these simple types shall be used as far as possible and practical for the representation of data types. W3C XML Schema also provides methods for defining - new simple types by restriction and combination of the built-in types, and - complex types, with simple content, but which also have XML attributes. In many places where a suitable built-in simple type is not available, simple content types derived using the XML Schema mechanisms are used for the representation of data types in GML. A set of these simple content types that are required by several GML components are defined in the basicTypes schema, as well as some elements based on them. These are primarily based around components needed to record amounts, counts, flags and terms, together with support for exceptions or null values.
Application DatabasicTypes.xsd
More information at: urn:ogc:specification:gml:schema-xsd:basicTypes: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
Schema Component Representation
<schema targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.2.0">
...
</schema>
top

Global Declarations

Element: Null

NameNull
Typegml:NilReasonType
Nillableno
Abstractno
Application Datadeprecated
XML Instance Representation
<gml:Null> gml:NilReasonType </gml:Null>
Schema Component Representation
<element name="Null" type="gml:NilReasonType"/>
top

Global Definitions

Complex Type: CodeListType

Super-types:NameList (by restriction) < CodeListType (by extension)
Sub-types:None
NameCodeListType
Abstractno
Documentationgml:CodeListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute.
XML Instance Representation
<...
codeSpace="anyURI [0..1]">
gml:NameList
</...>
Schema Component Representation
<complexType name="CodeListType">
<simpleContent>
<extension base="gml:NameList">
<attribute name="codeSpace" type="anyURI"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: CodeOrNilReasonListType

Super-types:NameOrNilReasonList (by restriction) < CodeOrNilReasonListType (by extension)
Sub-types:None
NameCodeOrNilReasonListType
Abstractno
Documentationgml:CodeOrNilReasonListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a term or classification is expected, but the value may be absent for some reason.
XML Instance Representation
<...
codeSpace="anyURI [0..1]">
gml:NameOrNilReasonList
</...>
Schema Component Representation
<complexType name="CodeOrNilReasonListType">
<simpleContent>
<extension base="gml:NameOrNilReasonList">
<attribute name="codeSpace" type="anyURI"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: CodeType

Super-types:string < CodeType (by extension)
Sub-types:None
NameCodeType
Abstractno
Documentationgml:CodeType is a generalized type to be used for a term, keyword or name. It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term.
XML Instance Representation
<...
codeSpace="anyURI [0..1]">
string
</...>
Schema Component Representation
<complexType name="CodeType">
<simpleContent>
<extension base="string">
<attribute name="codeSpace" type="anyURI"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: CodeWithAuthorityType

Super-types:string < CodeType (by extension) < CodeWithAuthorityType (by restriction)
Sub-types:None
NameCodeWithAuthorityType
Abstractno
Documentationgml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance.
XML Instance Representation
<...
codeSpace="anyURI [1]">
gml:CodeType
</...>
Schema Component Representation
<complexType name="CodeWithAuthorityType">
<simpleContent>
<restriction base="gml:CodeType">
<attribute name="codeSpace" type="anyURI" use="required"/>
</restriction>
</simpleContent>
</complexType>
top

Complex Type: CoordinatesType

Super-types:string < CoordinatesType (by extension)
Sub-types:None
NameCoordinatesType
Abstractno
DocumentationThis type is deprecated for tuples with ordinate values that are numbers. CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates. While it is not possible to enforce the internal structure of the string through schema validation, some optional attributes have been provided in previous versions of GML to support a description of the internal structure. These attributes are deprecated. The attributes were intended to be used as follows: Decimal symbol used for a decimal point (default=”.” a stop or period) cs symbol used to separate components within a tuple or coordinate string (default=”,” a comma) ts symbol used to separate tuples or coordinate strings (default=” “ a space) Since it is based on the XML Schema string type, CoordinatesType may be used in the construction of tables of tuples or arrays of tuples, including ones that contain mixed text and numeric values.
XML Instance Representation
<...
decimal="string [0..1]"
cs="string [0..1]"
ts="string [0..1]">
string
</...>
Schema Component Representation
<complexType name="CoordinatesType">
<simpleContent>
<extension base="string">
<attribute name="decimal" type="string" default="."/>
<attribute name="cs" type="string" default=","/>
<attribute name="ts" type="string" default=""/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: MeasureListType

Super-types:doubleList (by restriction) < MeasureListType (by extension)
Sub-types:None
NameMeasureListType
Abstractno
Documentationgml:MeasureListType provides for a list of quantities.
XML Instance Representation
<...
uom="gml:UomIdentifier [1]">
gml:doubleList
</...>
Schema Component Representation
<complexType name="MeasureListType">
<simpleContent>
<extension base="gml:doubleList">
<attribute name="uom" type="gml:UomIdentifier" use="required"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: MeasureOrNilReasonListType

Super-types:doubleOrNilReasonList (by restriction) < MeasureOrNilReasonListType (by extension)
Sub-types:None
NameMeasureOrNilReasonListType
Abstractno
Documentationgml:MeasureOrNilReasonListType provides for a list of quantities. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a value is expected, but the value may be absent for some reason.
XML Instance Representation
<...
uom="gml:UomIdentifier [1]">
gml:doubleOrNilReasonList
</...>
Schema Component Representation
<complexType name="MeasureOrNilReasonListType">
<simpleContent>
<extension base="gml:doubleOrNilReasonList">
<attribute name="uom" type="gml:UomIdentifier" use="required"/>
</extension>
</simpleContent>
</complexType>
top

Complex Type: MeasureType

Super-types:double < MeasureType (by extension)
Sub-types:None
NameMeasureType
Abstractno
Documentationgml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for “units Of measure”. The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale.
XML Instance Representation
<...
uom="gml:UomIdentifier [1]">
double
</...>
Schema Component Representation
<complexType name="MeasureType">
<simpleContent>
<extension base="double">
<attribute name="uom" type="gml:UomIdentifier" use="required"/>
</extension>
</simpleContent>
</complexType>
top

Simple Type: NCNameList

Super-types:None
Sub-types:None
NameNCNameList
Content
  • List of: NCName
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="NCNameList">
<list itemType="NCName"/>
</simpleType>
top

Simple Type: NameList

Super-types:None
Sub-types:
NameNameList
Content
  • List of: Name
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="NameList">
<list itemType="Name"/>
</simpleType>
top

Simple Type: NameOrNilReason

Super-types:None
Sub-types:None
NameNameOrNilReason
Content
DocumentationExtension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.
Schema Component Representation
<simpleType name="NameOrNilReason">
<union memberTypes="gml:NilReasonEnumeration Name anyURI"/>
</simpleType>
top

Simple Type: NameOrNilReasonList

Super-types:None
Sub-types:
NameNameOrNilReasonList
Content
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="NameOrNilReasonList">
<list itemType="gml:NameOrNilReason"/>
</simpleType>
top

Simple Type: NilReasonEnumeration

Super-types:None
Sub-types:None
NameNilReasonEnumeration
Content
  • Union of following types:
    • Locally defined type:
      • Base XSD Type: string
      • value comes from list: {'inapplicable'|'missing'|'template'|'unknown'|'withheld'}
    • Locally defined type:
      • Base XSD Type: string
      • pattern = other:\w{2,}
Schema Component Representation
<simpleType name="NilReasonEnumeration">
<union>
<simpleType>
<restriction base="string">
<enumeration value="inapplicable"/>
<enumeration value="missing"/>
<enumeration value="template"/>
<enumeration value="unknown"/>
<enumeration value="withheld"/>
</restriction>
</simpleType>
<simpleType>
<restriction base="string">
<pattern value="other:\w{2,}"/>
</restriction>
</simpleType>
</union>
</simpleType>
top

Simple Type: NilReasonType

Super-types:None
Sub-types:None
NameNilReasonType
Content
Documentationgml:NilReasonType defines a content model that allows recording of an explanation for a void value or other exception. gml:NilReasonType is a union of the following enumerated values: - inapplicable there is no value - missing the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist - template the value will be available later - unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists - withheld the value is not divulged - other:text other brief explanation, where text is a string of two or more characters with no included spaces and - anyURI which should refer to a resource which describes the reason for the exception A particular community may choose to assign more detailed semantics to the standard values provided. Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be provided elsewhere and indicated by-reference in an instance document. gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to permit a value from the NilReasonType union as an alternative to the primary type.
Schema Component Representation
<simpleType name="NilReasonType">
<union memberTypes="gml:NilReasonEnumeration anyURI"/>
</simpleType>
top

Simple Type: QNameList

Super-types:None
Sub-types:None
NameQNameList
Content
  • List of: QName
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="QNameList">
<list itemType="QName"/>
</simpleType>
top

Simple Type: SignType

Super-types:string < SignType (by restriction)
Sub-types:None
NameSignType
Content
  • Base XSD Type: string
  • value comes from list: {'-'|'+'}
Documentationgml:SignType is a convenience type with values “+” (plus) and “-“ (minus).
Schema Component Representation
<simpleType name="SignType">
<restriction base="string">
<enumeration value="-"/>
<enumeration value="+"/>
</restriction>
</simpleType>
top

Simple Type: UomIdentifier

Super-types:None
Sub-types:None
NameUomIdentifier
Content
DocumentationThe simple type gml:UomIdentifer defines the syntax and value space of the unit of measure identifier.
Schema Component Representation
<simpleType name="UomIdentifier">
<union memberTypes="gml:UomSymbol gml:UomURI"/>
</simpleType>
top

Simple Type: UomSymbol

Super-types:string < UomSymbol (by restriction)
Sub-types:None
NameUomSymbol
Content
  • Base XSD Type: string
  • pattern = [^: \n\r\t]+
DocumentationThis type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: “:” (colon), “ “ (space), (newline), (carriage return), (tab). This allows values corresponding to familiar abbreviations, such as “kg”, “m/s”, etc. It is recommended that the symbol be an identifier for a unit of measure as specified in the “Unified Code of Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and other problems.
Schema Component Representation
<simpleType name="UomSymbol">
<restriction base="string">
<pattern value="[^: \n\r\t]+"/>
</restriction>
</simpleType>
top

Simple Type: UomURI

Super-types:anyURI < UomURI (by restriction)
Sub-types:None
NameUomURI
Content
  • Base XSD Type: anyURI
  • pattern = ([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*
DocumentationThis type specifies a URI, restricted such that it must start with one of the following sequences: “#”, “./”, “../”, or a string of characters followed by a “:”. These patterns ensure that the most common URI forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of relative URI that could be mistaken for unit of measure symbol . NOTE It is possible to re-write such a relative URI to conform to the restriction (e.g. “./m/s”). In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either - a conventional unit of measure symbol, - a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to indicate a precise or variant definition.
Schema Component Representation
<simpleType name="UomURI">
<restriction base="anyURI">
<pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/>
</restriction>
</simpleType>
top

Simple Type: booleanList

Super-types:None
Sub-types:None
NamebooleanList
Content
  • List of: boolean
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="booleanList">
<list itemType="boolean"/>
</simpleType>
top

Simple Type: booleanOrNilReason

Super-types:None
Sub-types:None
NamebooleanOrNilReason
Content
DocumentationExtension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.
Schema Component Representation
<simpleType name="booleanOrNilReason">
<union memberTypes="gml:NilReasonEnumeration boolean anyURI"/>
</simpleType>
top

Simple Type: booleanOrNilReasonList

Super-types:None
Sub-types:None
NamebooleanOrNilReasonList
Content
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="booleanOrNilReasonList">
<list itemType="gml:booleanOrNilReason"/>
</simpleType>
top

Simple Type: doubleList

Super-types:None
Sub-types:
NamedoubleList
Content
  • List of: double
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="doubleList">
<list itemType="double"/>
</simpleType>
top

Simple Type: doubleOrNilReason

Super-types:None
Sub-types:None
NamedoubleOrNilReason
Content
DocumentationExtension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.
Schema Component Representation
<simpleType name="doubleOrNilReason">
<union memberTypes="gml:NilReasonEnumeration double anyURI"/>
</simpleType>
top

Simple Type: doubleOrNilReasonList

Super-types:None
Sub-types:
NamedoubleOrNilReasonList
Content
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="doubleOrNilReasonList">
<list itemType="gml:doubleOrNilReason"/>
</simpleType>
top

Simple Type: integerList

Super-types:None
Sub-types:None
NameintegerList
Content
  • List of: integer
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="integerList">
<list itemType="integer"/>
</simpleType>
top

Simple Type: integerOrNilReason

Super-types:None
Sub-types:None
NameintegerOrNilReason
Content
DocumentationExtension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.
Schema Component Representation
<simpleType name="integerOrNilReason">
<union memberTypes="gml:NilReasonEnumeration integer anyURI"/>
</simpleType>
top

Simple Type: integerOrNilReasonList

Super-types:None
Sub-types:None
NameintegerOrNilReasonList
Content
DocumentationA type for a list of values of the respective simple type.
Schema Component Representation
<simpleType name="integerOrNilReasonList">
<list itemType="gml:integerOrNilReason"/>
</simpleType>
top

Simple Type: stringOrNilReason

Super-types:None
Sub-types:None
NamestringOrNilReason
Content
DocumentationExtension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.
Schema Component Representation
<simpleType name="stringOrNilReason">
<union memberTypes="gml:NilReasonEnumeration string anyURI"/>
</simpleType>
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