OGC 06-188r1

Open Geospatial Consortium Inc.
Date: 2007-04-04
Reference number of this OpenGIS® document:

OGC 06-188r1
Version: 0.2.0

Category: OpenGIS® Best Practices Document
Editor: Simon Cox

GML Encoding of Discrete Coverages(interleaved pattern)
Copyright notice

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.

Warning
This document defines an OGC Best Practices position. This document is not an
OGC Standard and may not be referred to as an OGC Standard. It is subject tochange without notice. However, this document is an official position of the OGC
membership on this particular technology topic.
Document type:
Document subtype:
Document stage:

OpenGIS® Best Practices
GML Application
Draft

Document language:

EnglishOGC 06-188r1

Contentsi.

Preface................................................................................................................... iv

ii.

Submitting organizations .................................................................................... iv

iii.

Document contributor contact points ..................................................................v

iv.

Revision history......................................................................................................v

v.

Changes to the OpenGIS Specification..............................................................v

vi.

Future work............................................................................................................v

Introduction..................................................................................................................... vii
1

Scope........................................................................................................................1

2
2.1
2.2

Conformance ..........................................................................................................2
Overview .................................................................................................................2
Conformance classes related to Application Schema for
CV_DiscreteCoverage .............................................................................................2

3

Normative references.............................................................................................34

Terms and definitions ............................................................................................4

5
5.1
5.2
5.3

Conventions ............................................................................................................8
Symbols (and abbreviated terms).........................................................................8
UML notation .........................................................................................................9
Document terms and definitions...........................................................................9

6
6.1
6.2
6.3

The model for discrete coverages .......................................................................10
General coverage model ......................................................................................10
Specialization of the coverage domain ...............................................................10
Range value...........................................................................................................10

7
7.1
7.2
7.3

GML encoding of discrete coverages (interleaved pattern).............................11
Encoding rules......................................................................................................11
Domain specialization..........................................................................................11
Range value representation.................................................................................12

ANNEX A

(informative) XML implementation - examples...................................22

1

Introduction..........................................................................................................22

2

Scalar coverage over a set of features ................................................................22

3

Coverage values using the cv:Record encoding ................................................23

4

Time Series ...........................................................................................................24

5

Compound domain and range ............................................................................26

ii

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

OGC 06-188r1

ANNEX B(informative) An XML schema for simple Items, Records andArrays31
Bibliography .....................................................................................................................34

FiguresFigure 1.
Extract from ISO 19123 discrete coverage model showing relationship withnew components for a TimeInstantCoverage variant....................................................... 11

Code Listings
Listing 1.

discreteCoverage.xsd ...............................................................................12

Listing 2.

multiElement1.xml...................................................................................22

Listing 3.

multiElement2.xml...................................................................................23

Listing 4.

timeSeries2.xml ........................................................................................24

Listing 5.

timeSeries1.xml ........................................................................................26

Listing 6.

spectrumSeries3.xml................................................................................26

Listing 7.

aggregates.xsd...........................................................................................31

Listing 8.

cv.xsd .........................................................................................................33

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

iii

OGC 06-188r1

i.

PrefaceThis Document was produced as part of the OGC’s Sensor Web Enablement (SWE)
activity.
Suggested additions, changes, and comments on this report are welcome and encouraged.
Such suggestions may be submitted by OGC portal message, email message, or bymaking suggested changes in an edited copy of this document.
The changes made in this document version, relative to the previous version, are tracked
by Microsoft Word, and can be viewed if desired. If you choose to submit suggestedchanges by editing this document, please first accept all the current changes, and thenmake your suggested changes with change tracking on.

ii.

Submitting organizations

The following organizations submitted this document to the Open Geospatial Consortium
Inc.
Commonwealth Scientific and Industrial Research Organisation (Australia) (CSIRO).

iv

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

OGC 06-188r1

iii.

Document contributor contact points

All questions regarding this document should be directed to the editor or the contributors:
Contact

Company

Email

Simon Cox (Editor) CSIRO Exploration and Mining Simon.Cox [at] csiro.au

iv.

Revision history
Date

Release

EditorPrimary clauses
modified

Description

2006-12-12 0.1.0

Simon
Cox

Iniital version

Extract relevant sections from 05-087r4 O&M
and re-organise

2007-04-04 0.2.0

Simon
Cox

7, Annex A

Split schema into discreteCoverage.xsd andcompactDeiscreteCoverage.xsd;
Added domainExtent and rangeTypeproperties to AbstractDiscreteCoverage class2007-5-08

v.

0.2.0

Carl Reed Various

Edit for posting as OGC Best Practices

Changes to the OpenGIS® Specification
The OpenGIS® Specification requires changes to accommodate the technical contents ofthis document. The following is a list of the required changes:a) CV_DiscreteTimeInstantCoverage and CV_TimeInstantValuePair to be added to
CV package in the harmonized model.
b) CV_DiscreteElementCoverage and CV_ElementValuePair to be added to CV
package in the harmonized model.
c) Conformance clauses in GML modified to allow the “interleaved” discrete
coverage encoding to exist alongside the “sequential” domain-range formvi.

Future work
Improvements in this document are desirable to …
Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

v

OGC 06-188r1

Foreword
This report replaces parts of clause 6 and Annex C in the the OGC Best Practices Paper
05-087r4 Observations and Measurements.
This specification was developed under the OWS 4 initiative as part of the Sensor Web
Enablement thread. It provides an encoding for coverage data that may be used as thevalue of the result of an Observation, as well as for other purposes.
All parts of the document are normative except for ANNEX A – XML implementation
examples, and ANNEX B – An XML implementation of simple items, records andarrays.
Attention is drawn to the possibility that some of the elements of this document may be
the subject of patent rights. Open Geospatial Consortium Inc. shall not be held
responsible for identifying any or all such patent rights. However, to date, no such rights
have been claimed or identified.
Recipients of this document are requested to submit, with their comments, notification of
any relevant patent claims or other intellectual property rights of which they may beaware that might be infringed by any implementation of the specification set forth in thisdocument, and to provide supporting documentation.

vi

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

OGC 06-188r1

Introduction
This specification describes a GML encoding for discrete coverages. The encoding
pattern is a variation from the standard GML Coverage, in that the values in the domain
and range are effectively “interleaved” rather than represented as two blocks and encoded
sequentially. The requirement for this variant emerged from the Sensor Web Enablement
initiative, where some services were receiving data as a stream or from a large archive ininterleaved mode. In order to gather the complete domain and range descriptions to writeout a standard GML Coverage, the memoery requirements can become very large. Hence,
this alternative is provided as a convenience for application development efficiency.
The schema was originally included as part of the Observations and Measurements
specification (OGC 05-087r4) but is considered to be of more general interest, so has
been refactored into a separate document.

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

vii

OGC GML Application Schema

OGC 06-188r1

OGC Application Schema — GML Encoding of Discrete Coverages(interleaved pattern)

1 Scope
ISO 19123 presents a conceptual model for spatial coverage including twocomplementary viewpoints:(i)

as a functional map, with values from the range mapped to elements of a
spatio-temporal domain;(ii)

as a collection of elements, each composed of a geometry-value pair.

Compared with a simple tabular representation of a discrete coverage, the two viewpoints
are related through transposition. Compared with common imagery terminology, theycorrespond approximately to sequential vs. interleaved encodings.
GML v3 introduced an XML representation for discrete coverages, which implements the“map” view, with values from the domain and range collected and serialized in separate
blocks. While this is convenient for many analysis and portrayal applications, there aresome situations concerning data-transfer where this ordering creates significant practicaldifficulties. This follows from the requirement for the entire coverage domain to be
written-out prior to writing any of the range. If the data source is composed of interleaved(geometry, value) pairs, the description of the domain and range must be assembled first,
and for large coverages this may impose a significant memory requirement, and is aparticular challenge where the length of the array is not know at the outset (e.g. live
streaming data).
In this document we describe a GML encoding corresponding to the alternative
viewpoint, in which the coverage data is organised as interleaved (geometry, value) pairs.
The encoding is patterned directly on the alternative version of the CV_DiscreteCoveragemodel presented in ISO 19123, and follows the UML-XML encoding rules set out in
GML 3.2 (ISO DIS 19136).
A primary use of this schema is to provide an encoding of the result of an Observation, as
described in OGC Best Practices Paper 05-087r4 Observations and Measurements.

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

1

OGC 06-188r1

2 Conformance
2.1 Overview

Clause 6 of this Specification use the Unified Modeling Language (UML) to present
theconceptual schemas for describing discrete coverages. This schema definesconceptual classes that (i) may be considered to comprise a cross-domain application
schema, or (ii) may be used in application schemas, profiles and implementation
specifications. The document concerns ONLY externally visible interfaces and places norestriction on the underlying implementations other than what is needed to satisfy theinterface specifications in the actual situation.
Clause 7 of this Specification specifies XML Schema components, in the form of GML
Application Schemas that implement the conceptual model in accordance with ISO
19136.
This clause defines a set of conformance classes that will support applications whose
requirements range from the minimum necessary to define data structures to full object
implementation.
This flexibility is controlled by a set of UML types that can be implemented in a variety ofmanners. Common names for “metaphorically identical” but technically different entities
are acceptable. The UML model in this Specification defines conceptual classes, various
software systems define implementation classes or data structures, and the XML
following the encoding standard (ISO 19136) defines entity tags. All of these reference
the same information content. There is no difficulty in allowing the use of the same nameto represent the same information content even though at a deeper level there are
significant technical differences in the digital entities being implemented. This allows
types defined in the UML model to be used directly in application schemas.
2.2 Conformance classes related to Application Schema for CV_DiscreteCoverage

The conformance rules for Application Schemas in general are described in ISO 19109.
Application Schemas also claiming conformance to this Specification shall also conformto the rules specified in Clauses 6 and Error! Reference source not found. and pass all
relevant test cases of the Abstract Test Suite in Error! Reference source not found..
Depending on the characteristics of an Application Schema, NN conformance classes are
distinguished. Table 1 lists these classes and the corresponding Subclause of the
AbstractTest Suite.
Table 1 — Conformance classes related to Application Schema for
CV_DiscreteCoverage
Conformance class2

Subclause of the Abstract Test Suite

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

OGC 06-188r1

TBC
3 Normative references
The following normative documents contain provisions which, through reference in thistext, constitute provisions of this document. For dated references, subsequent
amendments to, or revisions of, any of these publications do not apply. For undated
references, the latest edition of the normative document referred to applies.
ISO 1000:1994, SI units and recommendations for the use of their multiples and of
certain other units.
ISO 8601:2004, Data elements and interchange formats — Information interchange
Representation of dates and times
ISO/IEC 11404:1996, Information technology — Programming languages, theirenvironments and system software interfaces – Language-independent datatypes
ISO 19101:2002, Geographic Information--ReferenceModel
ISO/TS 19103:2005, Geographic Information — Conceptual schema language
ISO 19107:2003, Geographic Information — Spatial schema
ISO 19108:2002, Geographic Information — Temporal schema
ISO 19109:2005, Geographic Information — Rules for application schemas
ISO 19110:2006, Geographic Information – Feature cataloguing methodology
ISO 19115:2003, Geographic Information — Metadata
ISO 19118:2005, Geographic Information — Encoding
ISO 19123:2005, Geographic Information — Coverages
ISO DIS 19136:2006, Geographic Information — Geography Markup Language
ISO/FDTS 19139:2006, Geographic Information — Metadata — XML schema
implementation
IETF RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax. (August 1998)
OpenGIS® Implementation Specification Geography Markup Language, version 3.2.
OGC Document 05-108r1 http://www.opengeospatial.org/
OpenGIS® Best Practices Document Observations and Measurements, OGC document
05-087r4.

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

3

OGC 06-188r1

UCUM, Unified Code for Units of Measure, Schadow, G. and McDonald, C. J. (eds.),<http://aurora.rg.iupui.edu/UCUM>
W3C XLink, XML Linking Language (XLink) Version 1.0. W3C Recommendation (27June 2001)
W3C XML, Extensible Markup Language (XML) 1.0 (Second Edition), W3C
Recommendation (6 October 2000)
W3C XML Namespaces, Namespaces in XML. W3C Recommendation (14 January 1999)
W3C XML Schema Part 1, XML Schema Part 1: Structures. W3C Recommendation (2May 2001)
W3C XML Schema Part 2, XML Schema Part 2: Datatypes. W3C Recommendation (2May 2001)
4 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
4.1
application schema
conceptual schema for data required by one or more applications[ISO 19101]
4.2
GML application schema
application schema written in XML Schema according to the rules specified in ISO
19136[ISO 19136]
4.3
association
semantic relationship between two or more classifiers that specifies connections among
their instances[ISO 19501-1]
NOTE: A binary association is an association among exactly two classifiers (including the possibility of an
association from a classifier to itself).

4.4
attribute <UML>
feature within a classifier that describes a range of values that instances of the classifier
may hold4

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

OGC 06-188r1
NOTE: An attribute is semantically equivalent to a composition association; however, the intent and usage isnormally different.

4.5
attribute <XML>
name-value pair contained in an element
4.6
child element <XML>
immediate descendant element of an element
4.7
coveragefeature that acts as a function to return values from its range for any direct position within
its spatiotemporal domain[ISO 19123]
4.8
data typespecification of a value domain with operations allowed on values in this domain[ISO/TS 19103]
EXAMPLE

Integer, Real, Boolean, String, Date (conversion of a data into a series of codes).
NOTE: Data types include primitive predefined types and user-definable types. All instances of a datatypes lack identity.

4.9
domainwell-defined set[ISO/TS 19103]
NOTE: 1A mathematical function may be defined on this set, i.e. in a function f:AÆB A is thedomain of the function f.
NOTE: 2

A domain as in domain of discourse refers to a subject or area of interest.

4.10
element <XML>
basic information item of an XML document containing child elements, attributes andcharacter data
NOTE: From the XML Information Set: “Each XML document contains one or more elements, theboundaries of which are either delimited by start-tags and end-tags, or, for empty elements, by an
empty-element tag. Each element has a type, identified by name, sometimes called its ‘generic
identifier’ (GI), and may have a set of attribute specifications. Each attribute specification has a nameand a value.”

4.11
featureabstraction of real world phenomena
Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

5OGC 06-188r1[ISO 19101]
NOTE: A feature may occur as a type or an instance. Feature type or feature instance should be used
when only one is meant.

4.12
feature association
relationship that links instances of one feature type with instances of the same or different
feature type[ISO 19110]
4.13
GML application schema
application schema implemented according to ISO 19136
4.14
grid
network composed of two or more sets of curves in which the members of each set
intersect the members of the other sets in an algorithmic way[ISO 19123]
NOTE: The curves partition a space into grid cells.

4.15
measure (noun)
value described using a numeric amount with a scale or using a scalar reference system[ISO/TS 19103]
NOTE: When used as a noun, measure is a synonym for physical quantity.

4.16
namespace <XML>
collection of names, identified by a URI reference, which are used in XML documents aselement names and attribute names [W3C XML Namespaces]
4.17
observation (noun)an act of observing a property or phenomenon, with the goal of producing an estimate of
the value of the property. A specialized event whose result is a data value.
4.18
property <General Feature Model>
characteristic of a feature type, including attribute, association role, defined behaviour,feature association, specialization and generalization relationship, constraints[ISO 19109]

6

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

OGC 06-188r1

4.19
property <GML>a child element of a GML object
NOTE: It corresponds to feature attribute and feature association role in ISO 19109. If a GML property
of a feature has an xlink:href attribute that references a feature, the property represents a featureassociation role.

4.20
range
set of all values a function f can take as its arguments vary over its domain
4.21
resultan estimate of the value of some property generated by a known procedure
4.22
scale
a particular way of assigning numbers or symbols to measure something is called a scaleof measurement [SAR1995].
4.23
schemaformal description of a model[ISO 19101]
NOTE: In general, a schema is an abstract representation of an object's characteristics and relationship toother objects. An XML schema represents the relationship between the attributes and elements of an
XML object (for example, a document or a portion of a document)

4.24
schema <XML Schema>collection of schema components within the same target namespace
EXAMPLE

Schema components of W3C XML Schema are types, elements, attributes, groups, etc.

4.25
schema document <XML Schema>
XML document containing schema component definitions and declarations
NOTE: The W3C XML Schema provides an XML interchange format for schema information. A single
schema document provides descriptions of components associated with a single XML namespace, butseveral documents may describe components in the same schema, i.e. the same target namespace.

4.26
sequence
finite, ordered collection of related items (objects or values) that may be repeated[ISO 19107]

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

7

OGC 06-188r1

4.27
set
unordered collection of related items (objects or values) with no repetition[ISO 19107]
4.28
tag <XML>
markup in an XML document delimiting the content of an element
EXAMPLE<Road>
NOTE: A tag with no forward slash (e.g. <Road> ) is called a start-tag (also opening tag), and one with aforward slash (e.g. </Road> is called an end-tag (also closing tag).

4.29
tuple
ordered list of values
4.30
UML application schema
application schema written in UML according to ISO 19109
4.31
value
member of the value-space of a datatype. A value may use one of a variety of scales
including nominal, ordinal, ratio and interval, spatial and temporal. Primitive datatypes
may be combined to form aggregate datatypes with aggregate values, including vectors,
tensors and images [ISO11404].
5 Conventions
5.1 Symbols (and abbreviated terms)

GFM

General Feature Model

GML

Geography Markup Language

ISO

International Organization for Standardization

O&M

Observations and Measurements

OGC

Open Geospatial Consortium

OWS

OGC Web Services

SWE

Sensor Web Enablement

UML

Unified Modeling Language

8

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

OGC 06-188r1

WXS

W3C XML Schema Definition Language

XML

Extensible Markup Language

1D

One Dimensional

2D

Two Dimensional

3D

Three Dimensional

5.2 UML notation

Most diagrams that appear in this specification are presented using the Unified Modeling
Language (UML) static structure diagram, as described in Subclause 5.2 of the OGC
Web Services Common Implementation Specification [OGC 04-016r2].
Many of the models refer to classes from various models in the ISO 19100 series ofinternational standards. In this document these components have been imported from the
ISO Harmonized Model as of 2004-05-11.
The UML is conformant with the profile described in ISO 19103 and ISO 19136 (GML)
Annex E. Use of this restricted idiom supports direct transformation into a GML
Application Schema.
The prose explanation of the model uses the term “property” to refer to both classattributes and association roles. This is consistent with the General Feature Modeldescribed in ISO 19109. In the context of properties, the term “value” refers to either aliteral (for attributes whose type is simple), or to an instance of the class providing thetype of the attribute or target of the association. Within the explanation, the property
names are sometimes used as natural language words where this assists in constructing areadable text.
5.3 Document terms and definitions

This document uses the specification terms defined in Subclause 5.3 of [OGC 04-016r2].

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

9OGC 06-188r1

6 The model for discrete coverages
6.1 General coverage modelISO 19123 describes a schema for coverages. The schema has a root class CV_Coveragewith specializations CV_ContinuousCoverage and CV_DiscreteCoverage.
In ISO 19123 Figure 2. CV_Coverage (and hence its specializations) is modelled as anaggregation of collections of CV_DomainObject and CV_AttributeValues, with the roles
rangeElement and domainElement respectively. We will refer to this as the “domainrange” pattern.
In ISO 19123 Figure 3. this is rearranged so that the CV_DomainObject and thecorresponding Record that holds the values of the CV_AttributeValues appear in a
CV_GeometryValuePair, with the role element with respect to the CV_DiscreteCoverage.
We will refer to this as the “geometry-value pair” pattern.
These views show the same information transposed.
6.2 Specialization of the coverage domain

Clause 6 in ISO 19123 describes some specializations of CV_DiscreteCoverage, in which
the type of the elements of the coverage domain is constrained. For example, thespecializations include CV_DiscretePointCoverage (ISO 19123 Figure 6) where thecoverage domain is composed of explicit GM_Point elements, and
CV_DiscreteGridPointCoverage (ISO 19123 Figure 7) where the coverage domain is
described by a grid. In the geometry-value pair representation these are implemented witha specialized CV_GeometryValuePair in which the type of the geometry attribute isconstrained to match.
Discrete coverages may be used in the description of sampling of a varying phenomenon,
which is a common application of sensor observations. A special case of the latter
concerns monitoring a time-varying property sampled at discrete points in time. In thisapplication the domain objects may be represented using GM_Point with a temporal
CRS. However, the definition of CV_DomainObject also allows for a temporalElementof type TM_GeometricPrimitive (ISO 19123 Figure 2) so we propose an additional
specialization CV_DiscreteTimeInstantCoverage, being an aggregate of
CV_TimeInstantValuePair elements, which leverages the ISO 19108 temporal schema
for the geometry property (see Figure 1).
6.3 Range value

The value of a coverage on any element of its domain is encapsulated in a Record. The
mapping from a member of the record to its type (i.e. the record structure) is described in
an associated RecordType (ISO 19103 Figure 15), which is also provided through theattribute rangeType on the CV_Coverage class..

10

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

OGC 06-188r1

CV_Coverage
Discrete Cov erages::
CV_DiscreteCov erage{n}+collection

0..*

CoverageFunction+element

1..*

Cov erage Core::
CV_GeometryValuePair{n}++Discrete Cov erages::
CV_DiscretePointCov erage{n}CV_DiscreteTimeInstantCov erage+collection+collection

0..*

0..*

geometry: CV_DomainObject
value: Record
CoverageFunction

Cov erage Core::
CV_DomainObj ect+element
1..*
Discrete Cov erages::
CV_PointValuePair{n}+geometry: GM_Point{n}+element 1..*
«DataType»CV_TimeInstantValuePair+geometry: TM_Instant

SpatialComposition+spatialElement0..*

TemporalComposition+temporalElement«type»
Geometry root::GM_Object
{n}

0..*
TM_Primitive

Temporal Obj ects::
TM_GeometricPrimitiv e{n}Figure 1. Extract from ISO 19123 discrete coverage model showing
relationship with new components for a TimeInstantCoverage variant
7 GML encoding of discrete coverages (interleaved pattern)
7.1 Encoding rules

We follow the encoding rules described in ISO DIS 19136 Annex E, which is a profile ofISO 19118. This formalizes the GML “Object-property” pattern, providing for an explicit
XML representation which encodes class, attribute and association-role names as XML
elements.
7.2 XML Schemas

The documents in Listing 1 and Listing 2 implement the classes shown in Figure 1, withfully explicit and compact domain elements respectively . To assist in understanding thisdocument, some simple example instances are shown in ANNEX A.
The schema is assigned to the namespace http://www.opengis.net/cv/0.0
7.3 Domain specialization

Two versions of the discrete coverages are provided:− CV_DiscreteCoverage, CV_DiscretePointCoverage,
CV_DiscreteTimeInstantCoverage and CV_ElementCoverage implement the classes

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

11

OGC 06-188r1

shown in Figure 1 in an explicit form, with the value of the domain objects taking
gml:AbstractGeometry, gml:Point and gml:TimeInstant which are the GML
implementations of GM_Object, GM_Point (ISO 19107) and TM_Instant (ISO19108), respectively− in CompactDiscreteCoverage, CompactDiscretePointCoverage andCompactDiscreteTimeCoverage the values of the domain objects are encoded as a
gml:DirectPositionType, and gml:TimePositionType which are the GML
implementations of DirectPosition (ISO 19107) and TM_TemporalPosition (ISO19108), respectively.
In addition, in CV_DiscreteElementCoverage, the domain geometry is expressed usingreferences, following the standard gml:ReferenceType pattern. The target of the referenceis either a proxy for the spatio-temporal domain object, or is a geometry provider.
7.4 Range value representation

The value element of the CV_GeometryValuePair implementation is an (implicit)
xs:anyType.
The standard XML Schema mechanisms for run-time indication of the datatype are (i)explicitly using the xsi:type attribute, or (ii) implicitly through namespace binding. The
XML schema referred to this way is implicitly an implementation of the RecordType forthe value. Note that an XML Schema is essentially a description of datatype structure,
and a suitably designed datatype may add a mechanism allowing the indication of
additional semantic information concerning the members of the record.
In ANNEX B we provide a schema for explicit XML representation of simple items,
records and arrays. This is a convenience schema primarily intended for use for simple
data aggregations corresponding to lists and tables, and should not be expected to replace
the rich capabilities of W3C XML Schema for all applications. Its use is illustrated insome example instances provided in ANNEX A.
Listing 1.

discreteCoverage.xsd<?xml version="1.0"?><schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opengis.net/cv/0.0"
xmlns:cv="http://www.opengis.net/cv/0.0" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified"attributeFormDefault="unqualified"version="0.0.0"><annotation><documentation>An explicit representation of the CV_DiscreteCoverage, interleaved model, from ISO 19123
All items are XML encoded
Copyright (c) 2007 Open Geospatial Consortium - see http://www.opengeospatial.org/about/?page=ipr</documentation></annotation><!-- ============== --><import namespace="http://www.opengis.net/gml"
schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/><!-- ============== --><!-- ============== --><complexType name="CV_DomainObjectType"><annotation><documentation>Explicit implementation of ISO 19123 CV_DomainObject</documentation>

12

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

OGC 06-188r1</annotation><sequence><element name="spatialElement" minOccurs="0" maxOccurs="unbounded" type="gml:GeometryPropertyType"/><element name="temporalElement" minOccurs="0" maxOccurs="unbounded"
type="cv:TimeGeometricPrimitivePropertyType"/></sequence></complexType><!-- ............... --><element name="CV_DomainObject" type="cv:CV_DomainObjectType"><annotation><documentation>Explicit implementation of ISO 19123 CV_DomainObject</documentation></annotation></element><!-- ............... --><complexType name="CV_DomainObjectPropertyType"><sequence minOccurs="0"><element ref="cv:CV_DomainObject"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ============== --><!-- ============== --><!-- === Implementations of CV_GeometryValuePair and specializations === --><!-- ============== --><complexType name="CV_AbstractGeometryValuePairType"><annotation><documentation>Head of substitution group of ISO 19123 CV_GeometryValuePair and specializations- concrete types derived from this must add geometry and value properties of a suitable type</documentation></annotation><!-<sequence><element name="geometry"/><element name="value"/></sequence>--></complexType><!-- ........... --><element name="CV_AbstractGeometryValuePair" type="cv:CV_AbstractGeometryValuePairType" abstract="true"><annotation><documentation>Head of substitution group of ISO 19123 CV_GeometryValuePair and specializations- concrete types derived from this must add geometry and value properties of a suitable type</documentation></annotation></element><!-- ........... --><complexType name="CV_AbstractGeometryValuePairPropertyType"><sequence><element ref="cv:CV_AbstractGeometryValuePair"/></sequence></complexType><!-- ============== --><complexType name="CV_GeometryValuePairType"><annotation><documentation>Explicit implementation of ISO 19123 CV_GeometryValuePair - this is the most general case,and is a literal encoding of the model.
It is implemented as a sibling of specialized versions because of XML Schema derivation by restriction
gotchas.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="cv:CV_DomainObjectPropertyType"/><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType>

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

13

OGC 06-188r1<!-- ........... --><element name="CV_GeometryValuePair" type="cv:CV_GeometryValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair"><annotation><documentation>Explicit implementation of ISO 19123 CV_GeometryValuePair - this is the most general case,and is a literal encoding of the model.
It is implemented as a sibling of specialized versions because of XML Schema derivation by restriction
gotchas.</documentation></annotation></element><!-- ........... --><complexType name="CV_GeometryValuePairPropertyType"><sequence><element ref="cv:CV_GeometryValuePair"/></sequence></complexType><!-- ============== --><complexType name="CV_PointValuePairType"><annotation><documentation>Specialization of ISO 19123 CV_GeometryValuePair.
Explicit implementation of ISO 19123 CV_PointValuePair - this is a literal encoding of the model.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="gml:PointPropertyType"/><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_PointValuePair" type="cv:CV_PointValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair"><annotation><documentation>Specialization of ISO 19123 CV_GeometryValuePair.
Explicit implementation of ISO 19123 CV_PointValuePair - this is a literal encoding of the model.</documentation></annotation></element><!-- ........... --><complexType name="CV_PointValuePairPropertyType"><sequence><element ref="cv:CV_PointValuePair"/></sequence></complexType><!-- ============== --><complexType name="CV_TimeInstantValuePairType"><annotation><documentation>Specialization of ISO 19123 CV_GeometryValuePair.
Explicit implementation of CV_TimeInstantValuePair - this is the temporal equivalent to
CV_PointValuePair.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="gml:TimeInstantPropertyType"/><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType>14

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

OGC 06-188r1<!-- ........... --><element name="CV_TimeInstantValuePair" type="cv:CV_TimeInstantValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair"><annotation><documentation>Specialization of ISO 19123 CV_GeometryValuePair.
Explicit implementation of CV_TimeInstantValuePair - this is the temporal equivalent to
CV_PointValuePair.</documentation></annotation></element><!-- ........... --><complexType name="CV_TimeInstantValuePairPropertyType"><sequence><element ref="cv:CV_TimeInstantValuePair"/></sequence></complexType><!-- ============== --><complexType name="CV_ElementValuePairType"><annotation><documentation>Specialization of ISO 19123 CV_GeometryValuePair.
Explicit implementation of CV_ElementValuePair - the "geometry" property carries a pointer to an object whichacts as the geometry-provider.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="gml:ReferenceType"><annotation><documentation>In a CV_ElementValuePair the "geometry" property carries a pointer to an object whichacts as the geometry-provider.</documentation></annotation></element><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_ElementValuePair" type="cv:CV_ElementValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair"><annotation><documentation>Specialization of ISO 19123 CV_GeometryValuePair.
Explicit implementation of CV_ElementValuePair - the "geometry" property carries a pointer to an object whichacts as the geometry-provider.</documentation></annotation></element><!-- ........... --><complexType name="CV_ElementValuePairPropertyType"><sequence><element ref="cv:CV_ElementValuePair"/></sequence></complexType><!-- ============== --><!-- === Implementations of CV_DiscreteCoverage and specializations === --><!-- ============== --><complexType name="CV_AbstractDiscreteCoverageType"><annotation><documentation>Head of substitution group implementing ISO 19123 CV_DiscreteCoverage and specializations.
Includes the standard elements defined for CV_Coverage.
Concrete descendants must add an "element" property of a suitable type.</documentation></annotation><complexContent><extension base="gml:AbstractFeatureType"><sequence><element name="domainExtent" type="gml:BoundingShapeType" maxOccurs="unbounded"/><element name="rangeType" type="anyType"/><!--

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

15

OGC 06-188r1<element name="element" type="cv:CV_AbstractGeometryValuePairPropertyType" maxOccurs="unbounded"/>--></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_AbstractDiscreteCoverage" type="cv:CV_AbstractDiscreteCoverageType" abstract="true"
substitutionGroup="gml:_Feature"><annotation><documentation>Head of substitution group implementing ISO 19123 CV_DiscreteCoverage and specializations.
Concrete descendants must add an "element" property of a suitable type.</documentation></annotation></element><!-- ........... --><complexType name="CV_AbstractDiscreteCoveragePropertyType"><sequence><element ref="cv:CV_AbstractDiscreteCoverage"/></sequence></complexType><!-- ============== --><complexType name="CV_DiscreteCoverageType"><annotation><documentation>Explicit implementation of ISO 19123 CV_DiscreteCoverage.</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CV_GeometryValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_DiscreteCoverage" type="cv:CV_DiscreteCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Explicit implementation of ISO 19123 CV_DiscreteCoverage.</documentation></annotation></element><!-- ........... --><complexType name="CV_DiscreteCoveragePropertyType"><sequence><element ref="cv:CV_DiscreteCoverage"/></sequence></complexType><!-- ============== --><complexType name="CV_DiscretePointCoverageType"><annotation><documentation>Explicit implementation of ISO 19123 CV_DiscretePointCoverage.</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CV_PointValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_DiscretePointCoverage" type="cv:CV_DiscretePointCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Explicit implementation of ISO 19123 CV_DiscretePointCoverage.</documentation></annotation></element><!-- ........... --><complexType name="CV_DiscretePointCoveragePropertyType"><sequence><element ref="cv:CV_DiscretePointCoverage"/></sequence>

16

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

OGC 06-188r1</complexType><!-- ============== --><complexType name="CV_DiscreteTimeInstantCoverageType"><annotation><documentation>Explicit implementation of specialized CV_DiscreteCoverage in which the coverage domain iscomposed of time-instants.</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CV_TimeInstantValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_DiscreteTimeInstantCoverage" type="cv:CV_DiscreteTimeInstantCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Explicit implementation of specialized CV_DiscreteCoverage in which the coverage domain iscomposed of time-instants.</documentation></annotation></element><!-- ........... --><complexType name="CV_DiscreteTimeInstantCoveragePropertyType"><sequence><element ref="cv:CV_DiscreteTimeInstantCoverage"/></sequence></complexType><!-- ============== --><complexType name="CV_DiscreteElementCoverageType"><annotation><documentation>Explicit implementation of specialized CV_DiscreteCoverage in which the coverage domain iscomposed of pointers to objects that act as geometry-providers.</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CV_ElementValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CV_DiscreteElementCoverage" type="cv:CV_DiscreteElementCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Explicit implementation of specialized CV_DiscreteCoverage in which the coverage domain iscomposed of pointers to objects that act as geometry-providers.</documentation></annotation></element><!-- ........... --><complexType name="CV_DiscreteElementCoveragePropertyType"><sequence><element ref="cv:CV_DiscreteElementCoverage"/></sequence></complexType><!-- ============================================================== --><!-- ===== Missing property types ====== --><!-- ================================================================== --><complexType name="TimeGeometricPrimitivePropertyType"><annotation><documentation>Property type not provided by GML</documentation></annotation><sequence minOccurs="0"><element ref="gml:_TimeGeometricPrimitive"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType>

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

17

OGC 06-188r1<!-- ============== --></schema>

Listing 2.

compactDiscreteCoverage.xsd<?xml version="1.0"?><schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opengis.net/cv/0.0"
xmlns:cv="http://www.opengis.net/cv/0.0" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified"attributeFormDefault="unqualified"version="0.0.0"><annotation><documentation>An explicit representation of the CV_DiscreteCoverage, interleaved model, from ISO 19123
Compact format
All items are XML encoded
Copyright (c) 2007 Open Geospatial Consortium - see http://www.opengeospatial.org/about/?page=ipr</documentation></annotation><!-- ============== --><import namespace="http://www.opengis.net/gml"
schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/><include schemaLocation="./discreteCoverage.xsd"/><!-- ============== --><!-- ============== --><complexType name="CompactDomainObjectType"><annotation><documentation>Compact equivalent to ISO 19123 CV_DomainObject, in which the spatial and temporalelements are encoded directly.</documentation></annotation><sequence><element name="spatialElement" minOccurs="0" maxOccurs="unbounded" type="gml:DirectPositionType"/><element name="temporalElement" minOccurs="0" maxOccurs="unbounded" type="gml:TimePositionType"/></sequence></complexType><!-- ............... --><element name="CompactDomainObject" type="cv:CompactDomainObjectType"><annotation><documentation>Compact equivalent to ISO 19123 CV_DomainObject, in which the spatial and temporalelements are encoded directly.</documentation></annotation></element><!-- ............... --><complexType name="CompactDomainObjectPropertyType"><sequence minOccurs="0"><element ref="cv:CompactDomainObject"/></sequence><attributeGroup ref="gml:AssociationAttributeGroup"/></complexType><!-- ============== --><!-- ============== --><complexType name="CompactGeometryValuePairType"><annotation><documentation>Compact equivalent to ISO 19123 CV_GeometryValuePair, in which the spatial and temporalelements of the geometry are encoded directly.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="cv:CompactDomainObjectPropertyType"/><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType>18

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

OGC 06-188r1<!-- ........... --><element name="CompactGeometryValuePair" type="cv:CompactGeometryValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair"><annotation><documentation>Compact equivalent to ISO 19123 CV_GeometryValuePair, in which the spatial and temporalelements of the geometry are encoded directly.</documentation></annotation></element><!-- ........... --><complexType name="CompactGeometryValuePairPropertyType"><sequence><element ref="cv:CompactGeometryValuePair"/></sequence></complexType><!-- ============== --><complexType name="CompactPointValuePairType"><annotation><documentation>Compact equivalent to ISO 19123 CV_PointValuePair, in which the geometry is encoded
directly.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="gml:DirectPositionType"/><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ........... --><element name="CompactPointValuePair" type="cv:CompactPointValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair"><annotation><documentation>Compact equivalent to ISO 19123 CV_PointValuePair, in which the geometry is encoded
directly.</documentation></annotation></element><!-- ........... --><complexType name="CompactPointValuePairPropertyType"><sequence><element ref="cv:CompactPointValuePair"/></sequence></complexType><!-- ============== --><complexType name="CompactTimeValuePairType"><annotation><documentation>Compact equivalent to CV_TimeInstantValuePair, in which the geometry is encoded
directly.</documentation></annotation><complexContent><extension base="cv:CV_AbstractGeometryValuePairType"><sequence><element name="geometry" type="gml:TimePositionType"/><element name="value"><annotation><documentation>Implicitly xs:anyType. Use xsi:type attribute to indicate the datatype at runtime.</documentation></annotation></element></sequence></extension></complexContent></complexType><!-- ........... --><element name="CompactTimeValuePair" type="cv:CompactTimeValuePairType"substitutionGroup="cv:CV_AbstractGeometryValuePair">Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

19

OGC 06-188r1<annotation><documentation>Compact equivalent to CV_TimeInstantValuePair, in which the geometry is encoded
directly.</documentation></annotation></element><!-- ........... --><complexType name="CompactTimeValuePairPropertyType"><sequence><element ref="cv:CompactTimeValuePair"/></sequence></complexType><!-- ============== --><!-- ============== --><!-- ============== --><complexType name="CompactDiscreteCoverageType"><annotation><documentation>Head of substitution group for compact discrete coverage encodings</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CompactGeometryValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CompactDiscreteCoverage" type="cv:CompactDiscreteCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Head of substitution group for compact discrete coverage encodings</documentation></annotation></element><!-- ........... --><complexType name="CompactDiscreteCoveragePropertyType"><sequence><element ref="cv:CompactDiscreteCoverage"/></sequence></complexType><!-- ============== --><complexType name="CompactDiscretePointCoverageType"><annotation><documentation>Compact equivalent to ISO 19123 CV_DiscretePointCoverage, in which the domain geometry is
encoded directly.</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CompactPointValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CompactDiscretePointCoverage" type="cv:CompactDiscretePointCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Compact equivalent to ISO 19123 CV_DiscretePointCoverage, in which the domain geometry is
encoded directly.</documentation></annotation></element><!-- ........... --><complexType name="CompactDiscretePointCoveragePropertyType"><sequence><element ref="cv:CompactDiscretePointCoverage"/></sequence></complexType><!-- ============== --><complexType name="CompactDiscreteTimeCoverageType"><annotation><documentation>Compact equivalent to CV_DiscreteTimeInstantCoverage, in which the domain geometry is

20

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

OGC 06-188r1
encoded directly.</documentation></annotation><complexContent><extension base="cv:CV_AbstractDiscreteCoverageType"><sequence><element name="element" type="cv:CompactTimeValuePairPropertyType" maxOccurs="unbounded"/></sequence></extension></complexContent></complexType><!-- ........... --><element name="CompactDiscreteTimeCoverage" type="cv:CompactDiscreteTimeCoverageType"substitutionGroup="cv:CV_AbstractDiscreteCoverage"><annotation><documentation>Compact equivalent to CV_DiscreteTimeInstantCoverage, in which the domain geometry is
encoded directly.</documentation></annotation></element><!-- ........... --><complexType name="CompactDiscreteTimeCoveragePropertyType"><sequence><element ref="cv:CompactDiscreteTimeCoverage"/></sequence></complexType><!-- ============================================================== --><!-- ============== --></schema>

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

21

OGC 06-188r1

ANNEX A
(informative)
XML implementation - examples

1 Introduction
The details of a GML implementation may be explored using instance examples. The
implementation is an explicit mapping from the UML model, using the same names as
XML element and attribute names, so inspection of sample data is an effective way toassess the effectiveness of the model in capturing the required information. In this clause
we present a series of examples to illustrate the model and encoding.
2 Scalar coverage over a set of features
Listing 3 shows a coverage of a property whose value is measured in micro-volts. The
domain elements are represented using links to external resources. The coverage values
are encoded using gml:MeasureType, which carries a unit of measure identifier. In thisexample the unit-of-measure is encoded using the short UCUM syntax described in GML
3.2.
Listing 3.

multiElement1.xml<?xml version="1.0" encoding="UTF-8"?><cv:CV_DiscreteCoverage gml:id="dc1"
xmlns:cv="http://www.opengis.net/cv/0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/cv/0.0 ../cv.xsd"><cv:domainExtent><gml:Envelope><gml:lowerCorner>0 0</gml:lowerCorner><gml:upperCorner>2 2</gml:upperCorner></gml:Envelope></cv:domainExtent><cv:rangeType xsi:type="gml:ReferenceType" xlink:href="http://www.flakey.org/properties/potential"/><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="http://www.bogus.org/wfs?pixel1"/><cv:value xsi:type="gml:MeasureType" uom="uV">10.1</cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="http://www.bogus.org/wfs?pixel2"/><cv:value xsi:type="gml:MeasureType" uom="uV">15.7</cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="http://www.bogus.org/wfs?pixel3"/><cv:value xsi:type="gml:MeasureType" uom="uV">20.2</cv:value></cv:CV_GeometryValuePair>

22

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

OGC 06-188r1</cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="http://www.bogus.org/wfs?pixel4"/><cv:value xsi:type="gml:MeasureType" uom="uV">27.5</cv:value></cv:CV_GeometryValuePair></cv:element></cv:CV_DiscreteCoverage>

3 Coverage values using the cv:Record encoding
Listing 4 shows a coverage of a two component property whose field values are measured
in micro-volts and on an ordinal scale. The representation of the domain objects is similar
to Listing 3. The range values are records comprised of two fields, encoded using thesimple Record encoding described in ANNEX B.
Listing 4.

multiElement2.xml<?xml version="1.0" encoding="UTF-8"?><cv:CV_DiscreteCoverage gml:id="dc2" xmlns:cv="http://www.opengis.net/cv/0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/cv/0.0 ../cv.xsd"><cv:domainExtent><gml:Envelope><gml:lowerCorner>0 0</gml:lowerCorner><gml:upperCorner>2 2</gml:upperCorner></gml:Envelope></cv:domainExtent><cv:rangeType xsi:type="gml:ReferenceType" xlink:href="http://www.flakey.org/properties/potential"/><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="pixel1"/><cv:value><cv:Record><cv:field><cv:Item xsi:type="gml:MeasureType" uom="uV">10.1</cv:Item></cv:field><cv:field><cv:Item xsi:type="gml:CodeWithAuthorityType"
codeSpace="http://wikipedia.org/species/fruit">banana</cv:Item></cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="pixel2"/><cv:value><cv:Record><cv:field><cv:Item xsi:type="gml:MeasureType" uom="uV">15.7</cv:Item></cv:field><cv:field><cv:Item xsi:type="gml:CodeWithAuthorityType"
codeSpace="http://wikipedia.org/species/fruit">cumquat</cv:Item></cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="pixel3"/><cv:value>

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

23

OGC 06-188r1<cv:Record><cv:field><cv:Item xsi:type="gml:MeasureType" uom="uV">20.2</cv:Item></cv:field><cv:field><cv:Item xsi:type="gml:CodeWithAuthorityType"
codeSpace="http://wikipedia.org/species/fruit">mangosteen</cv:Item></cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry xlink:href="pixel4"/><cv:value><cv:Record><cv:field><cv:Item xsi:type="gml:MeasureType" uom="uV">27.5</cv:Item></cv:field><cv:field><cv:Item xsi:type="gml:CodeWithAuthorityType"
codeSpace="http://wikipedia.org/species/fruit">guava</cv:Item></cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element></cv:CV_DiscreteCoverage>

4 Time Series
0 shows a time-series, in which the sampling domain is composed of set of time periods,
and the range value is a measure.
Listing 5.

timeSeries2.xml<?xml version="1.0" encoding="UTF-8"?><cv:CV_DiscreteCoverage gml:id="dc5" xmlns:cv="http://www.opengis.net/cv/0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/cv/0.0 ../cv.xsd"><cv:domainExtent><gml:TimePeriod><gml:beginPosition>2005-06-17T09:00:00.00+08:00</gml:beginPosition><gml:endPosition>2005-06-22T09:00:00.00+08:00</gml:endPosition></gml:TimePeriod></cv:domainExtent><cv:rangeType xsi:type="gml:ReferenceType" xlink:href="http://www.flakey.org/properties/length"/><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:temporalElement><gml:TimePeriod gml:id="tp1"><gml:beginPosition>2005-06-17T09:00+08:00</gml:beginPosition><gml:endPosition>2005-06-18T09:00+08:00</gml:endPosition><gml:duration>PT24H</gml:duration></gml:TimePeriod></cv:temporalElement></cv:CV_DomainObject></cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">10.1</cv:value></cv:CV_GeometryValuePair></cv:element><cv:element>

24

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

OGC 06-188r1<cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:temporalElement><gml:TimePeriod gml:id="tp2"><gml:beginPosition>2005-06-18T09:00+08:00</gml:beginPosition><gml:endPosition>2005-06-19T09:00+08:00</gml:endPosition><gml:duration>PT24H</gml:duration></gml:TimePeriod></cv:temporalElement></cv:CV_DomainObject></cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">15.7</cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:temporalElement><gml:TimePeriod gml:id="tp3"><gml:beginPosition>2005-06-19T09:00+08:00</gml:beginPosition><gml:endPosition>2005-06-20T09:00+08:00</gml:endPosition><gml:duration>PT24H</gml:duration></gml:TimePeriod></cv:temporalElement></cv:CV_DomainObject></cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">20.2</cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:temporalElement><gml:TimePeriod gml:id="tp4"><gml:beginPosition>2005-06-20T09:00+08:00</gml:beginPosition><gml:endPosition>2005-06-21T09:00+08:00</gml:endPosition><gml:duration>PT24H</gml:duration></gml:TimePeriod></cv:temporalElement></cv:CV_DomainObject></cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">27.5</cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:temporalElement><gml:TimePeriod gml:id="tp5"><gml:beginPosition>2005-06-21T09:00+08:00</gml:beginPosition><gml:endPosition>2005-06-22T09:00+08:00</gml:endPosition><gml:duration>PT24H</gml:duration></gml:TimePeriod></cv:temporalElement></cv:CV_DomainObject></cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">45.2</cv:value></cv:CV_GeometryValuePair></cv:element></cv:CV_DiscreteCoverage>

The time series in Listing 6 is sampled at time instants, which are represented using thecompact gml:TimePositionType encoding. The range values are measures.

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

25

OGC 06-188r1
Listing 6.

timeSeries1.xml<?xml version="1.0" encoding="UTF-8"?><cv:CompactDiscreteTimeCoverage gml:id="dc4" xmlns:cv="http://www.opengis.net/cv/0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/cv/0.0 ../cv.xsd"><cv:domainExtent><gml:TimePeriod><gml:beginPosition>2005-06-17T09:00:00.00+08:00</gml:beginPosition><gml:endPosition>2005-06-21T09:00:00.00+08:00</gml:endPosition></gml:TimePeriod></cv:domainExtent><cv:rangeType xsi:type="gml:ReferenceType" xlink:href="http://www.flakey.org/properties/length"/><cv:element><cv:CompactTimeValuePair><cv:geometry>2005-06-17T09:00:00.00+08:00</cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">10.1</cv:value></cv:CompactTimeValuePair></cv:element><cv:element><cv:CompactTimeValuePair><cv:geometry>2005-06-18T09:00:00.00+08:00</cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">15.7</cv:value></cv:CompactTimeValuePair></cv:element><cv:element><cv:CompactTimeValuePair><cv:geometry>2005-06-19T09:00:00.00+08:00</cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">20.2</cv:value></cv:CompactTimeValuePair></cv:element><cv:element><cv:CompactTimeValuePair><cv:geometry>2005-06-20T09:00:00.00+08:00</cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">27.5</cv:value></cv:CompactTimeValuePair></cv:element><cv:element><cv:CompactTimeValuePair><cv:geometry>2005-06-21T09:00:00.00+08:00</cv:geometry><cv:value xsi:type="gml:MeasureType" uom="mm">45.2</cv:value></cv:CompactTimeValuePair></cv:element></cv:CompactDiscreteTimeCoverage>

5 Compound domain and range
Listing 7 describes a coverage in which the domain objects iterate over time and space
explicitly, and the range values have seven members represented using the cv:Record
encoding.
Listing 7.

spectrumSeries3.xml<?xml version="1.0" encoding="UTF-8"?><cv:CV_DiscreteCoverage gml:id="dc3" xmlns:cv="http://www.opengis.net/cv/0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/cv/0.0 ../cv.xsd"><cv:domainExtent><gml:TimePeriod><gml:beginPosition>2005-06-17T09:00:00.00+08:00</gml:beginPosition><gml:endPosition>2005-06-21T09:00:00.00+08:00</gml:endPosition>

26

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

OGC 06-188r1</gml:TimePeriod></cv:domainExtent><cv:rangeType xsi:type="gml:ReferenceType" xlink:href="urn:x-ogc:def:recordType:NASA:TM7"/><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st1"/><cv:temporalElement xlink:href="./toi.xml#ti1"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record RS="urn:x-ogc:def:recordType:NASA:TM7" fieldCount="7"><cv:field> <cv:Item>9</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st3"/><cv:temporalElement xlink:href="./toi.xml#ti1"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>1</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st2"/><cv:temporalElement xlink:href="./toi.xml#ti1"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>1</cv:Item> </cv:field><cv:field> <cv:Item>9</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st4"/>

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

27

OGC 06-188r1<cv:temporalElement xlink:href="./toi.xml#ti1"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>1</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st1"/><cv:temporalElement xlink:href="./toi.xml#ti3"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>9</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st3"/><cv:temporalElement xlink:href="./toi.xml#ti3"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>1</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st2"/><cv:temporalElement xlink:href="./toi.xml#ti3"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>1</cv:Item> </cv:field><cv:field> <cv:Item>9</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field>

28

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

OGC 06-188r1<cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st4"/><cv:temporalElement xlink:href="./toi.xml#ti3"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>1</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st1"/><cv:temporalElement xlink:href="./toi.xml#ti5"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>9</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st3"/><cv:temporalElement xlink:href="./toi.xml#ti5"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>1</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element>

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

29

OGC 06-188r1<cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st2"/><cv:temporalElement xlink:href="./toi.xml#ti5"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>1</cv:Item> </cv:field><cv:field> <cv:Item>9</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>4</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element><cv:element><cv:CV_GeometryValuePair><cv:geometry><cv:CV_DomainObject><cv:spatialElement xlink:href="./foi.xml#st4"/><cv:temporalElement xlink:href="./toi.xml#ti5"/></cv:CV_DomainObject></cv:geometry><cv:value><cv:Record><cv:field> <cv:Item>5</cv:Item> </cv:field><cv:field> <cv:Item>6</cv:Item> </cv:field><cv:field> <cv:Item>3</cv:Item> </cv:field><cv:field> <cv:Item>7</cv:Item> </cv:field><cv:field> <cv:Item>2</cv:Item> </cv:field><cv:field> <cv:Item>8</cv:Item> </cv:field><cv:field> <cv:Item>1</cv:Item> </cv:field></cv:Record></cv:value></cv:CV_GeometryValuePair></cv:element></cv:CV_DiscreteCoverage>

30

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

OGC 06-188r1

ANNEX B(informative)
An XML schema for simple Items, Records and Arrays

Listing 8 shows a schema for explicit XML representation of simple items, records andarrays, based on the terminology of ISO/IEC 11404. The global element names are
cv:Item, cv:Record and cv:Array. The most primitive element is cv:Item, whose XML
Schema type is xs:anyType.
This schema is primarily intended for use for simple data aggregations corresponding tolists and tables, and should not be expected to replace the rich capabilities of W3C XML
Schema in general. If a more suitable domain-specific schema is available then it may be
preferred. Its is used in some of the example instances provided in ANNEX A.
Listing 8.

xmlData.xsd<?xml version="1.0"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:cv="http://www.opengis.net/cv/0.0"
targetNamespace="http://www.opengis.net/cv/0.0" elementFormDefault="qualified" attributeFormDefault="unqualified"version="pre-release"><annotation><documentation>A basic schema for data aggregates (Records and Arrays), using terminology consistent with ISO
11404.
</documentation></annotation><!-- ============== --><!-- ============== --><element name="Item"><annotation><documentation>An Item is an item of data of any type</documentation></annotation></element><!-- ...... ...... --><complexType name="ItemPropertyType"><sequence><element ref="cv:Item"/></sequence></complexType><!-- ============== --><!-- ============== --><complexType name="RecordType"><annotation><documentation>A record is a list of fields</documentation></annotation><sequence><element name="field" type="cv:ItemPropertyType" maxOccurs="unbounded"><annotation><documentation>A Record/field contains an item of data</documentation></annotation></element></sequence><attribute name="RS" type="anyURI" use="optional"><annotation><documentation>Optional pointer to record-type schema</documentation></annotation></attribute><attribute name="fieldCount" type="positiveInteger" use="optional"><annotation>

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

31

OGC 06-188r1<documentation>Optional count of the number of fields in the record.</documentation></annotation></attribute></complexType><!-- ...... ...... --><element name="Record" type="cv:RecordType"><annotation><documentation>A record is a list of fields</documentation></annotation></element><!-- ...... ...... --><complexType name="RecordPropertyType"><sequence><element ref="cv:Record"/></sequence></complexType><!-- ============== --><!-- ============== --><complexType name="ArrayType"><annotation><documentation>An array is an indexed set of records of homogeneous type</documentation></annotation><sequence><element name="element" type="cv:ElementPropertyType" maxOccurs="unbounded"><annotation><documentation>An Array/element contains an Item or a Record or an Array</documentation></annotation></element></sequence><attribute name="RS" type="anyURI" use="optional"><annotation><documentation>Optional pointer to the record-type schema. This should be used when the elements of thearray are Records</documentation></annotation></attribute><attribute name="elementCount" type="positiveInteger" use="optional"><annotation><documentation>Optional count of the number of elements in the array.</documentation></annotation></attribute></complexType><!-- ...... ...... --><element name="Array" type="cv:ArrayType"><annotation><documentation>An array is an indexed set of records of homogeneous type</documentation></annotation></element><!-- ...... ...... --><complexType name="ArrayPropertyType"><sequence><element ref="cv:Array"/></sequence></complexType><!-- ============== --><complexType name="ElementPropertyType"><annotation><documentation>Choice of Item or Record or Array - used in composing Arrays</documentation></annotation><group ref="cv:XMLaggregate"/></complexType><!-- ============== --><group name="XMLaggregate"><annotation><documentation>Convenience group that bundles all the soft-typed XML-encoded aggregates into a choicegroup</documentation></annotation><choice><element ref="cv:Item"/><element ref="cv:Record"/><element ref="cv:Array"/></choice>32

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

OGC 06-188r1</group><!-- ============== --></schema>

Listing 9 shows a convenience schema document that collects all the components
described in this specification. It is recommended that the schemaLocation value in a data
instance be set to point to a copy of this schema.
Listing 9.

cv.xsd<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opengis.net/cv/0.0"
xmlns:cv="http://www.opengis.net/cv/0.0" elementFormDefault="qualified" attributeFormDefault="unqualified"><xs:annotation><xs:documentation>Stub schema for cv</xs:documentation></xs:annotation><!--========================--><xs:include schemaLocation="./discreteCoverage.xsd"/><xs:include schemaLocation="./aggregates.xsd"/><!--========================--><xs:group name="XMLdata"><xs:annotation><xs:documentation>Convenience group that bundles all the soft-typed XML-encoded aggregates and coverages
into a choice group</xs:documentation></xs:annotation><xs:choice><xs:group ref="cv:XMLaggregate"/><xs:element ref="cv:CV_DiscreteCoverage"/></xs:choice></xs:group><!-- ============== --></xs:schema>

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

33

OGC 06-188r1

Bibliography

34

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