<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by Eugene Song (NIST) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stml="http://localhost/1451HTTPAPI" targetNamespace="http://localhost/1451HTTPAPI" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="SmartTransducerDataModel.xsd"/>
	<xs:include schemaLocation="SmartTransducerTEDS.xsd"/>
	<xs:element name="SmartTransducerHTTPResponse">
		<xs:annotation>
			<xs:documentation>IEEE 1451 Smart Transducer Response</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice>
				<xs:choice>
					<xs:element name="TIMDiscoveryHTTPResponse" type="stml:TIMDiscoveryHTTPResponseType"/>
					<xs:element name="TransducerDiscoveryHTTPResponse" type="stml:TransducerDiscoveryHTTPResponseType"/>
				</xs:choice>
				<xs:choice>
					<xs:element name="ReadHTTPResponse" type="stml:ReadHTTPResponseType"/>
					<xs:element name="StartReadHTTPResponse" type="stml:StartReadHTTPResponseType"/>
					<xs:element name="StartStreamHTTPResponse" type="stml:StartStreamHTTPResponseType"/>
					<xs:element name="WriteHTTPResponse" type="stml:WriteHTTPResponseType"/>
					<xs:element name="StartWriteHTTPResponse" type="stml:StartWriteHTTPResponseType"/>
				</xs:choice>
				<xs:choice>
					<xs:element name="SetSensorAlerHTTPtResponse" type="stml:SetSensorAlertHTTPResponseType"/>
					<xs:element name="ReportSensorAlertHTTPResponse" type="stml:ReportSensorAlertHTTPResponseType"/>
				</xs:choice>
				<xs:choice>
					<xs:element name="ReadRawTedsHTTPResponse" type="stml:ReadRawTedsHTTPResponseType"/>
					<xs:element name="ReadTedsHTTPReponse" type="stml:ReadTedsHTTPReponseType"/>
					<xs:element name="WriteTedsHTTPResponse" type="stml:WriteTedsHTTPResponseType"/>
					<xs:element name="WriteRawTedsHTTPResponse" type="stml:WriteRawTedsHTTPResponseType"/>
					<xs:element name="UpdateTedsCahceHTTPResponse" type="stml:UpdateTedsCahceHTTPResponseType"/>
				</xs:choice>
				<xs:choice>
					<xs:element name="SendCommandHTTPResponse" type="stml:SendCommandHTTPResponseType"/>
					<xs:element name="StartCommandHTTPResponse" type="stml:StartCommandHTTPResponseType"/>
					<xs:element name="TriggerHTTPResponse" type="stml:TriggerHTTPResponseType"/>
					<xs:element name="StartTriggerHTTPResponse" type="stml:StartTriggerHTTPResponseType"/>
				</xs:choice>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="TIMDiscoveryHTTPResponseType">
		<xs:sequence>
			<xs:element name="erroCode" type="stml:UInt16"/>
			<xs:element name="timIds" type="stml:UInt16Array"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TransducerDiscoveryHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerIds" type="stml:UInt16Array"/>
			<xs:element name="transducerNames" type="stml:StringArray"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ReadHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="transducerData" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StartReadHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="transducerData" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StartStreamHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="transducerData" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WriteHTTPResponseType">
		<xs:sequence>
			<xs:element name="erorrCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StartWriteHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="status" type="stml:UInt16"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SetSensorAlertHTTPResponseType">
		<xs:sequence>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="receivingAlertSetting" type="stml:_String"/>
			<xs:element name="descendingThreshhold" type="stml:_String"/>
			<xs:element name="ascendingThreshhold" type="stml:_String"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ReportSensorAlertHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="sensorAlertMessage" type="stml:_String"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ReadTedsHTTPReponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="tedsType" type="stml:UInt8"/>
			<xs:element name="teds" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ReadRawTedsHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="tedsType" type="stml:UInt8"/>
			<xs:element name="rawTeds" type="stml:OctetArray"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WriteTedsHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transucerId" type="stml:UInt16"/>
			<xs:element name="tedsType" type="stml:UInt8"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WriteRawTedsHTTPResponseType">
		<xs:sequence>
			<xs:element name="erroCode" type="stml:UInt16"/>
			<xs:element name="timdId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="tedsType" type="stml:UInt8"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="UpdateTedsCahceHTTPResponseType">
		<xs:sequence>
			<xs:element name="erroCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="tedsType" type="stml:UInt8"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SendCommandHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="outArgs" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StartCommandHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="status" type="stml:UInt16"/>
			<xs:element name="outArgs" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TriggerHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="outArgs" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StartTriggerHTTPResponseType">
		<xs:sequence>
			<xs:element name="errorCode" type="stml:UInt16"/>
			<xs:element name="timId" type="stml:UInt16"/>
			<xs:element name="transducerId" type="stml:UInt16"/>
			<xs:element name="status" type="stml:UInt16"/>
			<xs:element name="outArgs" type="stml:ArgumentArrayType"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
