<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by Myriam V Estrella (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="TransducerChannel.xsd"/>
	<xs:element name="ControlGroup" type="stml:ControlGroupType">
		<xs:annotation>
			<xs:documentation>: A ControlGroup describes the relationships between TransducerChannels when one  or more Transducers are used to control or measure the operation of another transducerl. ControlGroups are manufacturer specifications that define the inherent relationships between the TransducerChannels of a multi-channel TIM. This ControlGrouping information is not normally used by the TIM itself. This information is used to identify TransducerChannels that are used to control some characteristic of another TransducerChannel. For example, a ControlGroup could be used to identify an actuator that is used to set the threshold of an analog event sensor.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="ControlGroupType">
		<xs:choice>
			<xs:element name="AnalogEventSensorGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The Enevt Sensor is the primary transducer to which the sensor and the two actuators relate. The Sensor is used to make an analog measurement of the input to the Event Sensor. The two actuators control the upper threshold and hysteresis of the event sensor. Any sensor or actuator that is not used will have the TransducerChannel number set to zero.</xs:documentation>
						</xs:annotation>
						<xs:element name="EventSensor" type="stml:TransducerChannelType"/>
						<xs:element name="Sensor" type="stml:TransducerChannelType"/>
						<xs:element name="UpperThresholdActuator" type="stml:TransducerChannelType"/>
						<xs:element name="HysteresisActuator" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="1"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="SensorSetUpGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The  Sensor is the primary transducer which the three actuators control. One actuator is used to set the High Pass Filter cutoff, another to set the lowfrequency filter cutoff and the other to ast the scale factor or Gain of the signal conditioner. Any actuator that is not used will have the TransducerChannel number set to zero.</xs:documentation>
						</xs:annotation>
						<xs:element name="SensorChannel" type="stml:TransducerChannelType"/>
						<xs:element name="HighCutoffActuator" type="stml:TransducerChannelType"/>
						<xs:element name="LowCutoffActuator" type="stml:TransducerChannelType"/>
						<xs:element name="ScaleFactorActuator" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="2"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="SampleIntervalGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The  Sensor or Actuator is the primary transducer which the actuator controls. The actuator is used to set the sample interval for the transducer.</xs:documentation>
						</xs:annotation>
						<xs:element name="ChannelSampleInterval" type="stml:TransducerChannelType"/>
						<xs:element name="SampleIntervalActuator" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="3"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="DigitalEventSensorGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The Event Sensor is the primary transducer to which the sensor and the actuators relate. The Sensor is used to make an analog measurement of the input to the Event Sensor. The pattern actuator is used to set the digital pattern that the event sensor recognizes. Any actuator that is not used will have the TransducerChannel number set to zero.</xs:documentation>
						</xs:annotation>
						<xs:element name="EventSensor" type="stml:TransducerChannelType"/>
						<xs:element name="Sensor" type="stml:TransducerChannelType"/>
						<xs:element name="PatternActuator" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="4"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="TimeIntervalGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The first element is the Time Interval  Sensor. The second element is the transducer that is used to cause the Time Interval Sensor output to be latched.</xs:documentation>
						</xs:annotation>
						<xs:element name="TimeIntervalSensor" type="stml:TransducerChannelType"/>
						<xs:element name="TimeIntervalControlChannel" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="5"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="TimeInstanceGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The first element is the Time Interval  Sensor. The second element is the transducer that is used to cause the output of the Time Instance Sensor to be latched.</xs:documentation>
						</xs:annotation>
						<xs:element name="TimeInstanceSensor" type="stml:TransducerChannelType"/>
						<xs:element name="TimeInstancelControlChannel" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="6"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="EventTriggerGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The first element is the Event Sensor whose output is used to trigger other channels. The remaining element are the transducer channel numbers for the channels to be triggered.</xs:documentation>
						</xs:annotation>
						<xs:element name="TriggerEventSensor" type="stml:TransducerChannelType"/>
						<xs:element name="TriggeredChannelList" type="stml:TransducerChannelType" maxOccurs="16362"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="7"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="TimeDelayGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The first element is the TransducerChannel. The second element is the actuator that controls the amount of deley between a trigger being recieved and it being acted upon.</xs:documentation>
						</xs:annotation>
						<xs:element name="DelayedChannel" type="stml:TransducerChannelType"/>
						<xs:element name="TimeDelayChannel" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="8"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="LocationSensorGroup">
				<xs:complexType>
					<xs:sequence>
						<xs:annotation>
							<xs:documentation>: The first element is the location Sensor. The second element is the transducer that is used to cause the output of the location sensor to be latched.</xs:documentation>
						</xs:annotation>
						<xs:element name="LocationSensor" type="stml:TransducerChannelType"/>
						<xs:element name="LatchControlChannel" type="stml:TransducerChannelType"/>
					</xs:sequence>
					<xs:attribute name="ControlGroupEnumeration" type="stml:Int8" default="9"/>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
</xs:schema>
