Scalar measure types Measures schema

184 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

16.3.4 angle

The gml:angle property element is used to record the value of an angle quantity as a single number, with its units. It is declared as follows: element name=angle type=gml:AngleType

16.4 Value objects schema

16.4.1 Introduction

The elements declared in this clause build on other GML schema components, in particular gml:AbstractTimeObject, gml:AbstractGeometry, and the following types: gml:MeasureType, gml:MeasureListType, gml:CodeType, gml:CodeOrNilReasonListType, gml:BooleanOrNilReasonListType, gml:IntegerOrNilReasonList. Of particular interest are elements that are the heads of substitution groups, and one named choice group. These are the primary reasons for the value objects schema, since they may act as variables in the definition of content models, such as Observations, when it is desired to permit alternative value types to occur some of which may have complex content such as arrays, geometry and time objects, and where it is useful not to prescribe the actual value type in advance. The members of the groups include quantities, category classifications, boolean, count, temporal and spatial values, and aggregates of these. NOTE 1 The schema document valueObjects.xsd describing the components for generic values is listed in Annex C. It is identified by the following location-independent name using URN syntax: urn:x-ogc:specification:gml:schema-xsd:valueObjects:3.2.1 NOTE 2 The elements declared in this schema are used for the direct representation of values. Their content models are in general not derived from gml:AbstractGMLType and they do not carry an identifier.

16.4.2 Value element hierarchy

The value objects are defined in a hierarchy. The conceptual model is shown in D.3.15. The following relationships are defined:  Concrete elements gml:Quantity, gml:Category, gml:Count and gml:Boolean are substitutable for the abstract element gml:AbstractScalarValue.  Concrete elements gml:QuantityList, gml:CategoryList, gml:CountList and gml:BooleanList are substitutable for the abstract element gml:AbstractScalarValueList.  Concrete element gml:ValueArray is substitutable for the concrete element gml:CompositeValue.  Abstract elements gml:AbstractScalarValue and gml:AbstractScalarValueList, and concrete elements gml:CompositeValue, gml:ValueExtent, gml:CategoryExtent, gml:CountExtent and gml:QuantityExtent are substitutable for abstract element gml:AbstractValue.  Abstract elements gml:AbstractValue, gml:AbstractTimeObject and gml:AbstractGeometry, and concrete element gml:Null deprecated are all in a choice group named gml:Value, which is used for compositing in gml:CompositeValue and gml:ValueExtent. Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 185  Schemas which need values may use the abstract element gml:AbstractValue in a content model in order to permit any of the gml:AbstractScalarValues, gml:AbstractScalarValueLists, gml:CompositeValue or gml:ValueExtent to occur in an instance, or the named group gml:Value to also permit gml:AbstractTimeObjects, gml:AbstractGeometrys, and gml:Nulls deprecated.

16.4.3 Boolean, BooleanList

For recording a value or list of values from two-valued logic, using the XML Schema boolean type; these elements use the following schema declarations: element name=Boolean substitutionGroup=gml:AbstractScalarValue nillable=true complexType simpleContent extension base=boolean attribute name=nilReason type=gml:NilReasonType extension simpleContent complexType element element name=BooleanList type=gml:booleanOrNilReasonList substitutionGroup=gml:AbstractScalarValueList gml:booleanOrNilReasonList is described in 8.2.4.1. EXAMPLE In an instance the following examples may be found: gml:Boolean1gml:Boolean gml:Booleanfalsegml:Boolean gml:Boolean xsi:nil=‖true‖ nilReason=‖missing‖ gml:BooleanList1 missing 0 1 1 http:my.big.orgexplanationstheDogAteIt 0 1gml:BooleanList NOTE These examples illustrate the use of the various Boolean values {1, 0, true, false} and also the fact that nilReason values such as ―missing‖ or a URI may be embedded within a list.

16.4.4 Category, CategoryList

For recording terms representing a classification. These elements use the following schema declarations: element name=Category substitutionGroup=gml:AbstractScalarValue nillable=true complexType simpleContent extension base=gml:CodeType attribute name=nilReason type=gml:NilReasonType extension simpleContent complexType element element name=CategoryList type=gml:CodeOrNilReasonListType substitutionGroup=gml:AbstractScalarValueList A gml:Category has an optional XML attribute codeSpace, whose value is a URI which identifies a dictionary, codelist or authority for the term. EXAMPLE In an instance the following examples may be found: