<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://niem.gov/niem/external/ogc-swe-common/1.0.0/dhs-gmo/1.0.0"
xmlns:swec="http://niem.gov/niem/external/ogc-swe-common/1.0.0/dhs-gmo/1.0.0"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>Definitions for some common position parameters
Sensor Model Language OGC 05-086 page 89
DHS Changes:
2006-09-22 Changed namespaces following NIEM conventions
1) targetNamespace http://niem.gov//niem/external/ogc-swe-common/1.0.0/dhs-gmo/1.0.0 changed tnsp to swec from swe to distinguish it from swe namespace defined by 05-087r4_Observations_and_measurements.pdf
</xs:documentation>
</xs:annotation>
<!--========================-->
<!-- Includes and Imports -->
<!--========================-->
<xs:include schemaLocation="./parameters.xsd"/>
<!--=======================-->
<!-- Substitution Groups -->
<!--=======================-->
<xs:element name="PositionData" type="swec:_PositionType" abstract="false" substitutionGroup="swec:_DataGroup">
<xs:annotation>
<xs:documentation>Head of substitution Group for Composite Position Data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LocationData" type="swec:_PositionType" abstract="false" substitutionGroup="swec:PositionData">
<xs:annotation>
<xs:documentation>Head of substitution Group for Location Data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OrientationData" type="swec:_PositionType" abstract="false" substitutionGroup="swec:PositionData">
<xs:annotation>
<xs:documentation>Head of substitution Group for Orientation Data</xs:documentation>
</xs:annotation>
</xs:element>
<!--======================-->
<!-- Position DataGroup -->
<!--======================-->
<xs:element name="Position" substitutionGroup="swec:PositionData">
<xs:annotation>
<xs:documentation>Location and Orientation given by a sequence of rotations or translations.
Transformations are applied in the order listed</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="swec:_PositionType">
<xs:sequence>
<xs:element name="time" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:group ref="swec:Time" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="location" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element ref="swec:Location"/>
<xs:element ref="swec:GeoLocation"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="orientation" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Orientation" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="Location" substitutionGroup="swec:LocationData">
<xs:complexType>
<xs:complexContent>
<xs:extension base="swec:_PositionType">
<xs:sequence>
<xs:element name="coordinate" maxOccurs="3">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Quantity"/>
</xs:sequence>
<xs:attribute name="name" type="swec:qnameSimpleType" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GeoLocation" substitutionGroup="swec:LocationData">
<xs:annotation>
<xs:documentation>Position given by latitude, longitude, altitude</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="swec:_PositionType">
<xs:sequence minOccurs="0">
<xs:element name="longitude">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Quantity" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="latitude">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Quantity" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="altitude" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Quantity" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="Orientation" substitutionGroup="swec:OrientationData">
<xs:annotation>
<xs:documentation>Orientation given by euler angle with an order of rotation</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="swec:_PositionType">
<xs:sequence minOccurs="0">
<xs:element name="coordinate" maxOccurs="3">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Quantity"/>
</xs:sequence>
<xs:attribute name="name" type="swec:qnameSimpleType" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="order">
<xs:complexType>
<xs:sequence>
<xs:element ref="swec:Category"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<!--=================-->
<!-- Complex Types -->
<!--=================-->
<xs:complexType name="_PositionType">
<xs:complexContent>
<xs:extension base="swec:_GroupBaseType">
<xs:attribute name="referenceFrame" type="xs:anyURI" use="optional"/>
<xs:attribute name="localFrame" type="xs:anyURI" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
|