A02. PWS Attachment 9 Interface Control Document.pdf
PDF 221 KB Posted
- Attached to
- Next Generation Transponder Federal contract opportunity
- Solicitation number
- W52P1J-19-R-0139
About this file
This document provides an Interface Control Document and schema for a Next Generation Transponder solicitation. The Army is seeking NGT devices capable of both satellite and cellular communications to support logistics tracking of commodities and assets. The NGT requirements include commercial hardware, training, engineering services, and warranty support. The ICD specifies the message format and transmission method for NGT position reports via a SOAP web service using HTTPS and authentication. The schema defines required data elements like device ID, manufacturer, location, and battery level. Proximity devices may also be reported. Responses will indicate success or failure of message validation. The Army Contracting Command-Rock Island is the contracting office, with Program Manager PL AMIS serving as the requiring agency.
View the file
Other files for this federal contract opportunity
Show all 22
On GovTribe
Work with this file on GovTribe
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
Next-generation transponder (NGT) Interface Details NGT Web Service NGT messages are sent to the RF‐ITV server through a SOAP web service. Access to the web service requires both a secure connection via HTTPS and username/password authentication via the
“Authorization” header in the HTTP envelope.
URL endpoint (production) https://national.rfitv.army.mil/NGTWebService/NGTWebServiceSoapHttp
URL endpoint (test) https://trainer.rfitv.army.mil/NGTWebService/NGTWebServiceSoapHttp
Username Provided upon request. Unique for each interface partner
Password Provided upon request. Unique for each interface partner
The web service receives the message, validates it against the NGT schema, and saves it to a queue for processing. If successfully invoked, the call returns an HTTP status code of “HTTP/1.1 200 OK” and returns a response message. If not successfully invoked, the call returns a status code, such as “HTTP/1.1
401 Unauthorized” if, for example, the username/password is incorrect.
If the HTTP status code is 200, the response Code contained in the response message shall be checked for “SUCCESS” (see Figure 5 below). This indicates that the submitted message is valid against the NGT schema and the message will be processed into the RF‐ITV server. If the response Code is “FAIL” then the message is invalid against the NGT schema and the message will NOT be processed into the RF‐ITV server.
The WSDL may be viewed here:
https://national.rfitv.army.mil/NGTWebService/NGTWebServiceSoapHttp?wsdl
NGT Message Format
Figure 1 ‐ Design view of the NGT message schema (full source may be found at the end of this document)
*Note: elements contained in dashed boxes are optional.
Receipt Date Time
This is the date/time the interface partner received the position report from the device. This field is for future use and is currently not used.
Event Date Time
The receipt date/time is the actual date/time the device captured the GPS event.
Device ID
This 14‐digit number uniquely identifies the device.
Manufacturer
This is a string identifying the device manufacturer and must correspond to a reference table in the RF‐
ITV system. If this value does not match the RF‐ITV reference table value, the device manufacturer will be displayed as “Unknown”. This value will be assigned along with the web service credentials when initiating a new device vendor.
Battery Capacity
This is a number between 0 and 100 (inclusive) to indicate the remaining battery capacity (as a percentage).
Registration Info
The optional Registration Info consists of Model Number and Owner elements. This data shall be sent to the RF‐ITV server prior to a new device being placed in service. Subsequent position messages sent to the interface shall NOT include the Registration Info.
Once a device’s Registration Info has been uploaded to the server, it can be changed by sending a message containing ONLY the Registration Info element without a Position Info element. Registration
Info elements sent with a Position Info element will be ignored after the initial device registration.
Model Number
This is a string indicating the model number of the device. A consistent value shall be provided for all devices having the same model number. (E.g. all GT‐1100 devices shall use “GT‐1100”, not a mix of “GT
1100”, “GT1100”, “GT‐1100”, etc.).
Owner
This is the DoD organization who owns the device.
Latitude/Longitude
Self‐explanatory.
Mode Of Transmission
This single character (‘S’ or ‘C’) identifies whether a device transmitted this position via Satellite (S) or
Cellular (C) network.
Proximity Devices
The optional Proximity Devices element will be used when a device is capable of “collecting” other devices within a certain range and reporting their position to the RF‐ITV Server.
Example: Savi STR‐900 devices have the ability to read RFID tags within a certain range. The example message in Figure 4 shows how these tags are reported to the RF‐ITV server.
Example Messages
The NGT message is embedded within the NGT Transmission element. An NGT Transmission includes a transmission ID and a transmission DTG. The transmission ID shall be a unique positive integer number.
The transmission DTG shall be set to the current date and time (GMT) when the upload occurs. These elements assist troubleshooting by uniquely identifying a particular upload.
Figure 2 ‐ Example Registration message (used for initial registration or for updating the model number or owner)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ngt="http://www.usarmyamis.army.mil/XMLSchemas/NGT" xmlns:int="https://www.usarmyamis.army.mil/XMLSchemas/Interface_Base.xsd"> <soapenv:Header/> <soapenv:Body> <ngt:sendNGTData> <ngt:NGTTransmission> <int:transmissionID>99990</int:transmissionID> <int:transmissionDTG>2018‐11‐01T11:50:01</int:transmissionDTG> <ngt:NGT> <ngt:NGTMessage> <ngt:ReceiptDateTime>2018‐11‐01T11:31:05Z </ngt:ReceiptDateTime> <ngt:EventDateTime>2018‐11‐01T11:31:05Z</ngt:EventDateTime> <ngt:DeviceInfo> <ngt:DeviceID>19829864005632</ngt:DeviceID> <ngt:Manufacturer>ORBCOMM</ngt:Manufacturer> <ngt:BatteryCapacity>74</ngt:BatteryCapacity> <ngt:RegistrationInfo> <ngt:ModelNumber>GT‐1100</ngt:ModelNumber> <ngt:Owner>DLA</ngt:Owner> </ngt:RegistrationInfo> </ngt:DeviceInfo> </ngt:NGTMessage> </ngt:NGT> </ngt:NGTTransmission> </ngt:sendNGTData> </soapenv:Body> </soapenv:Envelope>
Figure 3 ‐ Example Position Message
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ngt="http://www.usarmyamis.army.mil/XMLSchemas/NGT" xmlns:int="https://www.usarmyamis.army.mil/XMLSchemas/Interface_Base.xsd"> <soapenv:Header/> <soapenv:Body> <ngt:sendNGTData> <ngt:NGTTransmission> <int:transmissionID>99991</int:transmissionID> <int:transmissionDTG>2018‐11‐06T08:44:01</int:transmissionDTG> <ngt:NGT> <ngt:NGTMessage> <ngt:ReceiptDateTime>2018‐11‐06T08:29:04Z </ngt:ReceiptDateTime> <ngt:EventDateTime>2018‐11‐06T08:29:04Z</ngt:EventDateTime> <ngt:DeviceInfo> <ngt:DeviceID>19829864005632</ngt:DeviceID> <ngt:Manufacturer>ORBCOMM</ngt:Manufacturer> <ngt:BatteryCapacity>73</ngt:BatteryCapacity> </ngt:DeviceInfo> <ngt:PositionInfo> <ngt:Latitude>39.383</ngt:Latitude> <ngt:Longitude>‐74.493</ngt:Longitude> <ngt:ModeOfTransmission>C</ngt:ModeOfTransmission> </ngt:PositionInfo> </ngt:NGTMessage> </ngt:NGT> </ngt:NGTTransmission> </ngt:sendNGTData>
Figure 4 ‐ Example Position Message with additional optional elements (ProximityDevices)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ngt="http://www.usarmyamis.army.mil/XMLSchemas/NGT" xmlns:int="https://www.usarmyamis.army.mil/XMLSchemas/Interface_Base.xsd"> <soapenv:Header/> <soapenv:Body> <ngt:sendNGTData> <ngt:NGTTransmission> <int:transmissionID>99992</int:transmissionID> <int:transmissionDTG>2018‐11‐06T14:41:01</int:transmissionDTG> <ngt:NGT> <ngt:NGTMessage> <ngt:ReceiptDateTime>2018‐11‐06T14:29:04Z</ngt:ReceiptDateTime> <ngt:EventDateTime>2018‐11‐06T14:29:04Z</ngt:EventDateTime> <ngt:DeviceInfo> <ngt:DeviceID>86506702459616</ngt:DeviceID> <ngt:Manufacturer>SaviTechnoligies</ngt:Manufacturer> <ngt:BatteryCapacity>72</ngt:BatteryCapacity> </ngt:DeviceInfo> <ngt:PositionInfo> <ngt:Latitude>39.383</ngt:Latitude> <ngt:Longitude>‐74.493</ngt:Longitude> <ngt:ModeOfTransmission>C</ngt:ModeOfTransmission> <ngt:ProximityDevices> <ngt:ProximityDeviceID>18710548976182</ngt:ProximityDeviceID> <ngt:ProximityDeviceID>18710546884413</ngt:ProximityDeviceID> </ngt:ProximityDevices> </ngt:PositionInfo> </ngt:NGTMessage> </ngt:NGT> </ngt:NGTTransmission> </ngt:sendNGTData>
Figure 5 ‐ Example Response Message (Success)
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header/> <S:Body> <ns2:sendNGTDataResponse xmlns="https://www.usarmyamis.army.mil/XMLSchemas/Interface_Base.xsd" xmlns:ns2="http://www.usarmyamis.army.mil/XMLSchemas/NGT"> <ns2:response> <responseCode>SUCCESS</responseCode> <message>SUCCESS</message> </ns2:response> </ns2:sendNGTDataResponse> </S:Body> </S:Envelope>
Figure 6 ‐ Example Response Message (Failure – Device ID too short)
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header/> <S:Body> <ns2:sendNGTDataResponse xmlns="https://www.usarmyamis.army.mil/XMLSchemas/Interface_Base.xsd" xmlns:ns2="http://www.usarmyamis.army.mil/XMLSchemas/NGT"> <ns2:response> <responseCode>FAIL</responseCode> <message>cvc‐length‐valid: Value '2244668800120' with length = '13' is not facet‐valid with respect to length '14' for type 'TrackingDeviceIdentifierISO'.</message> </ns2:response> </ns2:sendNGTDataResponse> </S:Body> </S:Envelope>
NGT Schema
<?xml version="1.0" encoding="UTF‐8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.usarmyamis.army.mil/XMLSchemas/NGT" targetNamespace="http://www.usarmyamis.army.mil/XMLSchemas/NGT" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="NGTBase1.0.xsd"/>
<xs:element name="NGT" type="NGT"/>
<xs:complexType name="NGT">
<xs:annotation>
<xs:documentation>The collection of messages containing information about Next‐Generation Transponder (NGT) devices.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="NGTMessage" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Information about a satellite tag and the location of and events that have occurred to an object to which a satellite tag has been affixed.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ReceiptDateTime" type="DateTime">
<xs:annotation>
<xs:documentation>
The date and time that a message transmitted by a tracking device is received at the vendor's ground station.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EventDateTime" type="DateTime" minOccurs="1">
<xs:annotation>
<xs:documentation>
The date and time that an event (Position Report, Sensor Alert, etc.)
occurs. Additional datetimes for individual sensor reports may be included in the same message under specific Sensor elements.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DeviceInfo">
<xs:annotation>
<xs:documentation>Information about a particular tracking device; its identifying information, battery status, etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DeviceID" type="TrackingDeviceIdentifierISO"/>
<xs:element name="Manufacturer" type="OrganizationName">
<xs:annotation>
<xs:documentation>
The organization that manufactured the tracking device.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BatteryCapacity" type="BatteryCapacity" minOccurs="1"/>
<xs:element name="RegistrationInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Device model number and device owner (e.g. 21TSC) to register a new tracking device. This information only needs to be provided once in order to "register" the device with the RF‐ITV system.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ModelNumber" type="ManufacturerPartNumber" minOccurs="1"/>
<xs:element name="Owner" type="OrganizationName" minOccurs="0">
<xs:annotation>
<xs:documentation>The organization that owns the tracking device.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PositionInfo" type="PositionData" minOccurs="0"/>
<xs:element name="Sensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of sensors ‐ devices that record values of environmental parameters of the tagged object. The tagged object may not be included in the message but can be inferred from externally available commissioning data.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TemperatureSensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the temperature sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TemperatureEventDateTime" type="DateTime"/>
<xs:choice>
<xs:element name="TemperatureActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:sequence>
<xs:element name="Temperature" type="Temperature"/>
<xs:element name="TemperatureSensorAlarm" type="TemperatureSensorAlarm" default="0">
<xs:documentation>0=temperature is within limits 1=temperature is outside limits</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HumiditySensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the humidity sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="HumidityEventDateTime" type="DateTime"/>
<xs:choice>
<xs:element name="HumidityActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:sequence>
<xs:element name="Humidity" type="Humidity"/>
<xs:element name="HumiditySensorAlarm" type="HumiditySensorAlarm" default="0">
<xs:annotation>
<xs:documentation>0=humidity is within limits 1=humidity is outside limits</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GForceSensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the GForce sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="GForceEventDateTime" type="DateTime"/>
<xs:choice>
<xs:element name="GForceActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:sequence>
<xs:element name="GForce">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="GForce">
<xs:attribute name="GForceUOM" type="GForceUOM" use="required"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="GForceSensorAlarm" type="GForceSensorAlarm" default="0">
<xs:documentation>0=GForce is within limits 1=GForce is outside limits</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LightSensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the light sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="LightEventDateTime" type="DateTime"/>
<xs:choice>
<xs:element name="LightActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:sequence>
<xs:element name="Light">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="Light">
<xs:attribute name="LightUOM" type="LightUOM" use="required"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="LightSensorAlarm" type="LightSensorAlarm" default="0">
<xs:annotation>
<xs:documentation>0=the interior illuminance is within limits 1=the interior illuminance is outside limits</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MotionSensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the motion sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="MotionEventDateTime" type="DateTime"/>
<xs:choice>
<xs:element name="MotionActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:element name="MotionSensorAlarm" type="MotionSensorAlarm" default="0">
<xs:documentation>0=the object is not in motion 1=the object is in motion</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DoorSensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the door sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DoorEventDateTime" type="DateTime"/>
<xs:choice>
<xs:element name="DoorActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:element name="DoorSensorAlarm" type="DoorSensorAlarm" default="0">
<xs:annotation>
<xs:documentation>0=the door is closed 1=the door is open</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LiquidVolumeSensor" minOccurs="0">
<xs:annotation>
<xs:documentation>Data describing the active status, value or alarm report date/time and the actual analog value and/or alarm state of the liquid volume sensor. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="LiquidVolumeEventDateTime" type="DateTime" minOccurs="1"/>
<xs:choice>
<xs:element name="LiquidVolumeActivatedStatus" type="SensorActivatedStatus" default="1"/>
<xs:element name="LiquidVolumeSensorAlarm" type="LiquidVolumeSensorAlarm" default="0">
<xs:annotation>
<xs:documentation>0=No change in liquid volume 1=Change in liquid volume</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
NGT Schema Types (NGTBase1.0.xsd)
<?xml version="1.0" encoding="UTF‐8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.usarmyamis.army.mil/XMLSchemas/NGT" targetNamespace="http://www.usarmyamis.army.mil/XMLSchemas/NGT" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:simpleType name="BatteryCapacity">
<xs:documentation>The ratio of the actual power to the total potential power (expressed as a percentage) of an electrical storage device.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="0" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PositionData">
<xs:annotation>
<xs:documentation>The angular measurements identifying the intersection of the surface of the World Geodetic
System‐84 *WGX‐84) ellipsoid representing the earth's surface with a ray originating from the center of that ellipsoid.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Latitude" type="Latitude"/>
<xs:element name="Longitude" type="Longitude"/>
<xs:element name="ModeOfTransmission" type="TransmissionMode" minOccurs="0">
<xs:annotation>
<xs:documentation>Communication medium by which the device data was received.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProximityDevices" minOccurs="0">
<xs:annotation>
<xs:documentation>Nearby tracking devices (usually RFID tags) "seen" by this device at this position. The position of the parent device is added to the position history of these nearby devices.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="ProximityDeviceID" type="TrackingDeviceIdentifier"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="DateTime">
<xs:documentation>A measurement of time within a day fully specified in relation to the Gregorian calendar.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:dateTime">
<xs:pattern value=".+Z" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DoorSensorAlarm">
<xs:annotation>
<xs:documentation>An indication that the door is opened or closed.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="GForce">
<xs:annotation>
<xs:documentation>The acceleration of an object relative to free fall.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="GForceUOM" type="GForceUOM" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="GForceSensorAlarm">
<xs:annotation>
<xs:documentation>An indication that the force of gravity measured by a sensor does/does not meet a specified condition.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GForceUOM">
<xs:annotation>
<xs:documentation>Defined fundamental unit in which the acceleration of an object in free fall in a specified gravitational environment is expressed.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="3" />
<xs:enumeration value="GRF">
<xs:annotation>
<xs:documentation>the average acceleration produced by gravity at the Earth's surface (sea level)</xs:documentation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Humidity">
<xs:annotation>
<xs:documentation>The ratio of water vapor content in the air to the amount the air can hold when saturated.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="0" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HumiditySensorAlarm">
<xs:annotation>
<xs:documentation>An indication that the humidity measured by a sensor does/does not meet a specified condition.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Latitude">
<xs:annotation>
<xs:documentation>The angular displacement relative to the equator of the WGS‐84 ellipsoid that represents the earth's surface. A positive number indicates angular displacement North of the equator; a negative number indicates displacement
South of the equator.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:maxInclusive value="90" />
<xs:minInclusive value="‐90" />
<xs:fractionDigits value="11" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Light">
<xs:annotation>
<xs:documentation>The measure of the intensity of incident light, weighted for the wavelength of the light.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="LightUOM" type="LightUOM" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="LightSensorAlarm">
<xs:annotation>
<xs:documentation>An indication that the illuminance measured by a sensor does/does not meet a specified condition.</xs:documentation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LightUOM">
<xs:annotation>
<xs:documentation>Defined fundamental unit in which the measure of the intensity of incident light, weighted for the wavelength of the light is expressed.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="3" />
<xs:enumeration value="FTC">
<xs:annotation>
<xs:documentation>foot‐candle</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="LUX">
<xs:annotation>
<xs:documentation>lux</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LiquidVolumeSensorAlarm">
<xs:annotation>
<xs:documentation>An indication that the liquid volume has or has not changed.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Longitude">
<xs:annotation>
<xs:documentation>The angular displacement relative to the zero meridian of the WGS‐84 ellipsoid that represents the earth's surface. A positive number indicates angular displacement East of the zero meridian; a negative number indicates displacements West of the zero meridian.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="‐180" />
<xs:maxInclusive value="180" />
<xs:fractionDigits value="11" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ManufacturerPartNumber">
<xs:documentation>The set of characters created by the manufacturer to uniquely identify a product/part.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="35" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MotionSensorAlarm">
<xs:annotation>
<xs:documentation>An indication as to whether or not an object has moved above set thresholds.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OrganizationName">
<xs:annotation>
<xs:documentation>The distinctive designation of a specific office, activity, or unit by which that entity is commonly known.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="35" />
<xs:minLength value="1" />
<xs:pattern value="[A‐Za‐z0‐9]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SensorActivatedStatus">
<xs:annotation>
<xs:documentation>An indication that the sensor device is turned on (is capable of sensing) or turned off (is incapable of sensing).</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Temperature">
<xs:annotation>
<xs:documentation>The quantitative value of the measure of heat in a substance.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="TemperatureUOM" type="TemperatureUOM" use="required" />
</xs:extension>
</xs:simpleContent>
<xs:simpleType name="TemperatureUOM">
<xs:documentation>Defined fundamental unit in which the measure of heat in a substance is expressed.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="2" />
<xs:maxLength value="3" />
<xs:enumeration value="CE">
<xs:annotation>
<xs:documentation>Degree Celsius</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FAH">
<xs:annotation>
<xs:documentation>Degree Fahrenheit</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TemperatureSensorAlarm">
<xs:annotation>
<xs:documentation>An indication that the temperature measured by a sensor does/does not meet a specified condition.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="0" />
<xs:enumeration value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TrackingDeviceIdentifier">
<xs:annotation>
<xs:documentation>The identifier of a device capable of communicating the location and status of the object to which the device is attached using radio frequency transmission via satellite communications or a ground based interrogator.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="32" />
<xs:pattern value="[A‐Z0‐9]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TrackingDeviceIdentifierISO">
<xs:annotation>
<xs:documentation>The ISO‐standard 14‐digit identifier of a device capable of communicating the location and status of the object to which the device is attached.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="14" />
<xs:pattern value="[0‐9]+" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TransmissionMode">
<xs:annotation>
<xs:documentation>A single character representing the transmission channel via which the transponder data was received ‐ e.g. (C)ellular, (S)atellite, (W)iFi, (O)ther.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1" />
<xs:enumeration value="C" />
<xs:enumeration value="S" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
File details come from the government source that posted it. Updated .