<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/om/dhs-gmo/1.0.0"
xmlns:om="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/om/dhs-gmo/1.0.0"
xmlns:swe="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/swe/dhs-gmo/1.0.0"
xmlns:gml="http://niem.gov/niem/external/ogc-gml/3.1.1/dhs-gmo/1.0.0"
xmlns:xlink="http://niem.gov/niem/external/w3c-xlink/1.0/dhs-gmo/1.0.0"
elementFormDefault="qualified" attributeFormDefault="unqualified" version="pre-release">
<annotation>
<documentation>observationSpecializations.xsd An implementation of the OandM model for SWE
This document contains various specializations of the basic observation pattern, primarily by fixing the type of the result.
Copyright (c) 2006 Open Geospatial Consortium - see http://www.opengeospatial.org/about/?page=ipr
OGC 05-087r4 page 50 © OGC 2006 – All rights reserved
DHS Changes
2006-09-28 Changed namespaces and schema location
ns old http://niem.gov/niem/external/gml/3.1.1/dhs-gmo/1.0.0
ns new http://niem.gov/niem/external/ogc-gml/3.1.1/dhs-gmo/1.0.0
from ../../../../../gml/3.1.1/dhs-gmo/1.0.0/gml.xsd
to ../../../../../ogc-gml/3.1.1/dhs-gmo/1.0.0/gml.xsd
ns old http://niem.gov/niem/external/xlink/1.0.0/dhs-gmo/1.0.0
ns new http://niem.gov/niem/external/w3c-xlink/1.0/dhs-gmo/1.0.0
2006-09-22 Changed namespaces following NIEM conventions
1) targetNamespace http://niem.gov/niem/external/ogc-observation/draft-0.14.5/om/dhs-gmo/1.0.0
2) om namespace http://niem.gov/niem/external/ogc-observation/draft-0.14.5/om/dhs-gmo/1.0.0
3) swe namespace http://niem.gov/niem/external/ogc-observation/draft-0.14.5/swe/dhs-gmo/1.0.0
4) gml namespace http://niem.gov/niem/external/gml/3.1.1/dhs-gmo/1.0.0
5) xlink namespace http://niem.gov/niem/external/xlink/1.0.0/dhs-gmo/1.0.0
2006-09-18 versioned namespace to match OGC 05-087r4 source, which specifies Version: 0.14.5
versioned swe, xlink, gml namespaces, changed schemaLocations
</documentation>
</annotation>
<!-- ====================================================================== -->
<!-- bring in other schemas -->
<!-- <import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/> -->
<import namespace="http://niem.gov/niem/external/ogc-gml/3.1.1/dhs-gmo/1.0.0"
schemaLocation="../../../../../ogc-gml/3.1.1/dhs-gmo/1.0.0/gml.xsd"/>
<!-- <import namespace="http://www.opengis.net/swe" schemaLocation="../../sweCommon/trunk/swe.xsd"/> -->
<import namespace="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/swe/dhs-gmo/1.0.0"
schemaLocation="../../../swe/dhs-gmo/1.0.0/swe.xsd"/>
<include schemaLocation="./observation.xsd"/>
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!-- ===== Scalar Observations ====== -->
<!-- ====================================================================== -->
<complexType name="MeasurementType">
<annotation>
<documentation>Measurement event.
carries one "result" properties of type "ResultMeasureType".</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="result" type="swe:QualifiedMeasureType" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="Measurement" type="om:MeasurementType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Measurement event</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="CategoryObservationType">
<annotation>
<documentation>Observation, in which the result is a textual value from a controlled
vocabulary</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="result" type="swe:ScopedNameType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="CategoryObservation" type="om:CategoryObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a textual value from a controlled
vocabulary</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="CountObservationType">
<annotation>
<documentation>Observation, in which the result is an integer representing the count of the observed
property</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="result" type="integer"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="CountObservation" type="om:CountObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is an integer representing the count of the observed
property</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="TruthObservationType">
<annotation>
<documentation>Observation, in which the result is a boolean value representing the truth value (usually
existence) of the observed property</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="result" type="boolean"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="TruthObservation" type="om:TruthObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a boolean value representing the truth value (usually
existence) of the observed property</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<!-- ===== Observation with constant complex result ====== -->
<!-- ====================================================================== -->
<complexType name="ComplexObservationType">
<annotation>
<documentation>Observation, in which the result is a record representing a multi-component
phenomenon
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:RecordPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="ComplexObservation" type="om:ComplexObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a record representing a multi-component
phenomenon</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<!-- ===== Coverage Observations = sampling a phenomenon that varies on the feature of interest ====== -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<complexType name="DiscreteCoverageObservationType">
<annotation>
<documentation>Observation, in which the result is a generalized discrete coverage
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CV_DiscreteCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="DiscreteCoverageObservation" type="om:DiscreteCoverageObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a generalized discrete coverage</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="PointCoverageObservationType">
<annotation>
<documentation>Observation, in which the result is a point coverage which samples a property at points
in the feature of interest
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CV_DiscretePointCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="PointCoverageObservation" type="om:PointCoverageObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a point coverage which samples a property at points
in the feature of interest</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="TimeSeriesObservationType">
<annotation>
<documentation>Observation, in which the result is a time-instant coverage which samples a property of
the feature of interest at different times
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CV_DiscreteTimeInstantCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="TimeSeriesObservation" type="om:TimeSeriesObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a time-instant coverage which samples a property of
the feature of interest at different times</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="ElementCoverageObservationType">
<annotation>
<documentation>Observation, in which the result is a coverage whose domain elements contain
references to objects encoded elsewhere, sampling the feature of interest in some way
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CV_DiscreteElementCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="ElementCoverageObservation" type="om:ElementCoverageObservationType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation, in which the result is a coverage whose domain elements contain
references to objects encoded elsewhere, sampling the feature of interest in some way</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<!-- === Compact coverage observations = implement the "geometry" element in the result in compact form === -->
<!-- ====================================================================== -->
<complexType name="DiscreteCoverageObsType">
<annotation>
<documentation>Observation, in which the result is a compact representation of a generalized discrete
coverage
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CompactDiscreteCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="DiscreteCoverageObs" type="om:DiscreteCoverageObsType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation event</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="PointCoverageObsType">
<annotation>
<documentation>Observation, in which the result is a compact representation of a point coverage which
samples a property at points in the feature of interest
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CompactDiscretePointCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="PointCoverageObs" type="om:PointCoverageObsType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation event</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
<complexType name="TimeSeriesObsType">
<annotation>
<documentation>Observation, in which the result is a compact representation of a time-instant coverage
which samples a property of the feature of interest at different times
resultDefinition property contains value record schema, used to parse value, and an indication of the
encoding</documentation>
</annotation>
<complexContent>
<extension base="om:AbstractObservationType">
<sequence>
<element name="resultDefinition" type="swe:RecordTypePropertyType"/>
<element name="result" type="swe:CompactDiscreteTimeCoveragePropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ...................... -->
<element name="TimeSeriesObs" type="om:TimeSeriesObsType" substitutionGroup="om:AbstractObservation">
<annotation>
<documentation>Observation event</documentation>
</annotation>
</element>
<!-- ====================================================================== -->
</schema>
|