metaDataProperty, MetaDataPropertyType, AbstractMetaData, AbstractMetaDataType GenericMetaData, GenericMetaDataType

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

I.3 Basic types, Null

gml:Null is superseded by nillable and nilReason attributes as specified in 8.2.3.2. The gml:Null element was declared as follows: element name=Null type=gml:NilReasonType EXAMPLE This element might appear in data instance documents as follows: gml:Nullwithheldgml:Null gml:Nullhttp:my.big.orgexplanationstheDogAteItgml:Null The first example uses one of the built-in values for Null. The second example contains a reference to an explanation available elsewhere, identified by a URI. The purpose in providing the gml:Null element was as follows: In order to construct a content model where a value may be omitted, the cardinality constraint expressed in XML Schema using the construction minOccurs=”0” might be used. However, this approach carries the risk that the reason for the value not being present may be misinterpreted. As an alternative the element gml:Null may be included as a member of a choice group, alongside an element of the data type of a “normal” value. EXAMPLE The content model described by the schema fragment element name=footprint complexType choice element ref=gml:Envelope element ref=gml:Null choice complexType element allows either of the following data instances to be valid: footprint gml:Envelope … gml:Envelope footprint footprint gml:Nullinapplicablegml:Null footprint This allows the hypothetical element “footprint” to appear in an instance document, optionally containing an explicit marker indicate why it has no value, instead of having semantics inferred from the absence of a value.

I.4 Features

I.4.1 location, LocationPropertyType, LocationKeyWord, LocationString

The gml:location element was a convenience property that described the generalized location of the feature. It was defined as follows: Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 397 element name=location type=gml:LocationPropertyType complexType name=LocationPropertyType sequence choice element ref=gml:AbstractGeometry element ref=gml:LocationKeyWord element ref=gml:LocationString element ref=gml:Null choice sequence attributeGroup ref=gml:AssociationAttributeGroup complexType The value of a location may be a geometry, a location string, a location keyword, or a null. gml:location and gml:LocationPropertyType have been deprecated. NOTE The flexible content model of the location property has proven to be difficult to implement in practice. A location string is text which should describe the location. It was declared as follows: element name=LocationString type=gml:StringOrRefType gml:LocationKeyWord has been deprecated and is superseded by gml:locationName. The location keyword is a code usually selected from a controlled list. It was declared as follows: element name=LocationKeyWord type=gml:CodeType gml:LocationString has been deprecated and is superseded by gml:locationReference and gml:locationName see 9.4.2.

I.4.2 priorityLocation, priorityLocationType

A property gml:priorityLocation was provided for GML application schema developers that wish to provide prioritized locations for their features. A gml:priorityLocation has the following content model: element name=priorityLocation type=gml:PriorityLocationPropertyType substitutionGroup=gml:location complexType name=PriorityLocationPropertyType complexContent extension base=gml:LocationPropertyType attribute name=priority type=string extension complexContent complexType Note that this simply adds a priority string to the base gml:location property to assign levels of importance to the different locations.

I.4.3 BoundedFeatureType

A simple restriction of gml:AbstractFeatureType was previously offered making the optional boundedBy property mandatory. gml:BoundedFeatureType was defined as follows: complexType name=BoundedFeatureType abstract=true