<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://niem.gov/niem/external/ogc-observation/draft-0.14.5/swe/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"
elementFormDefault="qualified" attributeFormDefault="unqualified" version="pre-release">
<annotation>
<documentation>basicTypes.xsd
Some basic types (simpleContent) required in various places in OWS Sensor Web application schemas
Copyright © 2006 Open Geospatial Consortium - see http://www.opengeospatial.org/about/?page=ipr
OGC 05-087r4 page 78 © OGC 2006 – All rights reserved
DHS Changes:
2006-09-28 Changed namespace
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
2006-09-22 Changed namespaces following NIEM conventions
1) targetnamespace http://niem.gov/niem/external/ogc-observation/draft-0.14.5/swe/dhs-gmo/1.0.0
2) gml namespace http://niem.gov/niem/external/gml/3.1.1/dhs-gmo/1.0.0
2006-09-18 versioned namespace,
versioned GML namespace
</documentation>
</annotation>
<!-- ====================================================================== -->
<!-- ===== SimpleContent types ====== -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!-- ===== some basic list types ====== -->
<!-- ====================================================================== -->
<simpleType name="refList">
<list itemType="anyURI"/>
</simpleType>
<!-- ====================================================================== -->
<simpleType name="nonNegativeIntegerList">
<list itemType="nonNegativeInteger"/>
</simpleType>
<!-- ====================================================================== -->
<simpleType name="doubleList">
<list itemType="double"/>
</simpleType>
<!-- ====================================================================== -->
<simpleType name="stringList">
<annotation>
<documentation>When appearing in a list context, internal whitespace is interpreted as an item
separator.
Strings may be represented in a list by escaping spaces as a (non-breaking space) entity.</documentation>
</annotation>
<list itemType="string"/>
</simpleType>
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<simpleType name="UomIdentifier">
<annotation>
<documentation>Local copy of GML 3.2 uom identifier definition</documentation>
</annotation>
<union memberTypes="swe:UomSymbol swe:UomURI"/>
</simpleType>
<!-- ............ -->
<simpleType name="UomSymbol">
<restriction base="string">
<pattern value="[^: \n\r\t]+"/>
</restriction>
</simpleType>
<!-- ............ -->
<simpleType name="UomURI">
<restriction base="anyURI">
<pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/>
</restriction>
</simpleType>
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!-- ===== Types used for observation results ====== -->
<!-- ====================================================================== -->
<complexType name="ScopedNameType">
<annotation>
<documentation>Extension of string which also carries a codeSpace attribute.</documentation>
</annotation>
<simpleContent>
<extension base="string">
<attribute name="codeSpace" type="anyURI" use="required"/>
</extension>
</simpleContent>
</complexType>
<!-- ====================================================================== -->
<complexType name="ScopedNameListType">
<annotation>
<documentation>Extension of stringList which also carries a codeSpace attribute.</documentation>
</annotation>
<simpleContent>
<extension base="swe:stringList">
<attribute name="codeSpace" type="anyURI" use="required"/>
<attribute name="count" type="nonNegativeInteger" use="optional"/>
</extension>
</simpleContent>
</complexType>
<!-- ====================================================================== -->
<complexType name="QualifiedMeasureType">
<simpleContent>
<extension base="double">
<attribute name="uom" type="swe:UomIdentifier" use="required"/>
<attribute name="qualifier" type="swe:MeasureQualifierCode" default="equals"/>
</extension>
</simpleContent>
</complexType>
<!-- ............ -->
<simpleType name="MeasureQualifierCode">
<annotation>
<documentation xml:lang="en">This enumerated data type specifies values for qualified
measures.</documentation>
</annotation>
<union>
<simpleType>
<restriction base="string">
<enumeration value="lessThan"/>
<enumeration value="lessThanOrEquals"/>
<enumeration value="equals"/>
<enumeration value="greaterThanOrEquals"/>
<enumeration value="greaterThan"/>
<enumeration value="nil:inapplicable"/>
<enumeration value="nil:missing"/>
<enumeration value="nil:unknown"/>
<enumeration value="nil:withheld"/>
</restriction>
</simpleType>
<simpleType>
<restriction base="string">
<annotation>
<documentation>fall-through qualifier expressed as "other:aaaaaaa"</documentation>
</annotation>
<pattern value="other:\w{2,}">
</pattern>
</restriction>
</simpleType>
<simpleType>
<restriction base="anyURI">
<annotation>
<documentation>Link to an external resource providing explanation</documentation>
</annotation>
</restriction>
</simpleType>
</union>
</simpleType>
<!-- =================================================================== -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!-- ===== Soft-typed values and lists ====== -->
<!-- ====================================================================== -->
<complexType name="TypedValueType">
<annotation>
<documentation>A generic typed value</documentation>
</annotation>
<sequence>
<element name="property" type="swe:ScopedNameType"/>
<element name="value"/>
</sequence>
</complexType>
<!-- ................ -->
<element name="TypedValue" type="swe:TypedValueType"/>
<!-- ................ -->
<complexType name="TypedValuePropertyType">
<sequence>
<element ref="swe:TypedValue"/>
</sequence>
</complexType>
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<complexType name="IntervalType">
<annotation>
<documentation>A generic interval. The type of the two limits will normally be the same.
</documentation>
</annotation>
<sequence>
<element name="lowerBound"/>
<element name="upperBound"/>
</sequence>
</complexType>
<!-- ................ -->
<element name="Interval" type="swe:IntervalType"/>
<!-- ................ -->
<complexType name="IntervalPropertyType">
<sequence>
<element ref="swe:Interval"/>
</sequence>
</complexType>
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<complexType name="TypedValueListType">
<annotation>
<documentation>A generic typed list of value</documentation>
</annotation>
<sequence>
<element name="property" type="swe:ScopedNameType"/>
<element name="value" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!-- ................ -->
<element name="TypedValueList" type="swe:TypedValueListType"/>
<!-- ................ -->
<complexType name="TypedValueListPropertyType">
<sequence>
<element ref="swe:TypedValueList"/>
</sequence>
</complexType>
<!-- ====================================================================== -->
</schema>
|