<xs:schema targetNamespace="http://www.opengis.net/swe/1.0.1" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/1.0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.1">
<xs:annotation>
<xs:documentation>Schema for defining different types of curves based on aggregate data types
Copyright (c) 2007 OGC, All Rights Reserved.
For conditions, see OGC Software Notice - http://www.opengeospatial.org/legal/
</xs:documentation>
</xs:annotation>
<!-- ================================================= -->
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:include schemaLocation="./aggregateTypes.xsd"/>
<!-- ================================================= -->
<!-- Curve Components -->
<!-- ================================================= -->
<xs:element name="Curve" type="swe:CurveType" substitutionGroup="swe:AbstractDataArray">
<xs:annotation>
<xs:documentation>Curve describing variations of a parameter vs. another quantity</xs:documentation>
</xs:annotation>
</xs:element>
<!-- ........ -->
<xs:complexType name="CurveType">
<xs:complexContent>
<xs:extension base="swe:AbstractDataArrayType">
<xs:sequence>
<xs:element name="elementType" type="swe:SimpleDataRecordPropertyType"/>
<xs:group ref="swe:EncodedValuesGroup" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ........ -->
<xs:complexType name="CurvePropertyType">
<xs:annotation>
<xs:documentation>Curve is a data-type so usually appears "by value" rather than by reference.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="swe:Curve"/>
</xs:sequence>
</xs:complexType>
<!-- ================================================= -->
<xs:element name="NormalizedCurve" type="swe:NormalizedCurveType" substitutionGroup="swe:AbstractDataRecord"/>
<xs:complexType name="NormalizedCurveType">
<xs:complexContent>
<xs:extension base="swe:AbstractDataRecordType">
<xs:sequence>
<xs:element name="inputGain" type="swe:QuantityPropertyType" minOccurs="0"/>
<xs:element name="inputBias" type="swe:QuantityPropertyType" minOccurs="0"/>
<xs:element name="outputGain" type="swe:QuantityPropertyType" minOccurs="0"/>
<xs:element name="outputBias" type="swe:QuantityPropertyType" minOccurs="0"/>
<xs:element name="interpolationMethod" type="swe:CategoryPropertyType" minOccurs="0"/>
<xs:element name="extrapolationMethod" type="swe:CategoryPropertyType" minOccurs="0"/>
<xs:element name="function" type="swe:CurvePropertyType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ================================================= -->
<!-- Data Component Groups -->
<!-- ================================================= -->
<xs:group name="Curves">
<xs:choice>
<xs:element ref="swe:Curve"/>
<xs:element ref="swe:NormalizedCurve"/>
</xs:choice>
</xs:group>
</xs:schema>
|