<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:td="urn:IEEE-1671.1:2009:TestDescription" xmlns:c="urn:IEEE-1671:2009.02:Common" xmlns:hc="urn:IEEE-1671:2009.02:HardwareCommon" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:IEEE-1671.1:2009:TestDescription" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.01">
	<xs:annotation>
		<xs:documentation xml:lang="en">
		
This schema is specified in IEEE IEEE 1671.1 "Trial-Use Standard 
for Automatic Test Markup Language (ATML) for Exchanging Automatic 
Test Equipment and Test Information via XML: Exchanging Test Descriptions". 

This schema is a World Wide Web Consortium (W3C) Extensible Markup 
Language (XML) binding of the ATML component defined in 
IEEE 1671.1 "Trial-Use Standard for Automatic Test Markup Language (ATML) 
for Exchanging Automatic Test Equipment and Test Information via XML: Exchanging 
Test Descriptions". 

The purpose of this schema is to allow the creation of IEEE 1671.1 instance 
documents. This schema uses the W3C XML Schema definition language as the 
encoding. This allows for interoperability and the exchange of ATML component 
instances between various systems. This schema shall not be modified but may 
be included in derivative works. 

Copyright (c) 20xx Institute of Electrical and Electronics Engineers, Inc. 

USE AT YOUR OWN RISK

		</xs:documentation>
	</xs:annotation>
	<xs:import namespace="urn:IEEE-1671:2009.02:Common" schemaLocation="Common.xsd"/>
	<xs:import namespace="urn:IEEE-1671:2009.02:HardwareCommon" schemaLocation="HardwareCommon.xsd"/>
	<xs:simpleType name="ElectroOpticalInterfaceType">
		<xs:annotation>
			<xs:documentation>Enumeration of types for Electro Optical interfaces.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKENS">
			<xs:enumeration value="Laser"/>
			<xs:enumeration value="Infrared"/>
			<xs:enumeration value="Light"/>
			<xs:enumeration value="Other"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SeverityLevel">
		<xs:annotation>
			<xs:documentation>Enumeration of severity levels for faults and failures, as follows: Warning: The fault or failure may impact UUT functionality and has no long term impact on UUT reliability. Error: The fault or failure impacts UUT functionality and impacts UUT reliability (i.e., life is shortened). Fatal: The UUT is unusable.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKENS">
			<xs:enumeration value="Warning"/>
			<xs:enumeration value="Error"/>
			<xs:enumeration value="Fatal"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FailureType">
		<xs:annotation>
			<xs:documentation>Enumeration of failure types, as follows: Detectable: The failure can be detected by a functional test. NonDetectable: The failure cannot be detected by any functional test. NonFunctional: The failure can be detected by a functional test, but no repair action is required because the failure will not affect any higher assembly in any operating mode under specified service environmental conditions.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKENS">
			<xs:enumeration value="Detectable"/>
			<xs:enumeration value="NonDetectable"/>
			<xs:enumeration value="NonFunctional"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Detectability">
		<xs:annotation>
			<xs:documentation>Enumeration of fault types, with respect to detectability, as follows: DetectableInsertable: The fault can be inserted into the UUT, and detected by functional tests at the channel, division or system level; performance of the functional tests will cause no adverse effect on the life-cycle of the UUT. DetectableDestructive: The fault could be inserted into the UUT, and detected by functional tests; however execution of the functional tests may adversely affect the life expectancy of the UUT or render the UUT unfit for use. NonDetectable: Fault identified by analysis that cannot be detected by functional test or tests.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKENS">
			<xs:enumeration value="DetectableInsertable"/>
			<xs:enumeration value="DetectableDestructive"/>
			<xs:enumeration value="NonDetectable"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SignalType">
		<xs:annotation>
			<xs:documentation>Enumeration of signal types, as follows: Input: The signal is received by the UUT. Output: The signal is generated by the UUT. Bi-Directional: The signal is both received and generated by the UUT. Load: The signal describes a load applied to the UUT. </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKENS">
			<xs:enumeration value="Input"/>
			<xs:enumeration value="Output"/>
			<xs:enumeration value="Bi-Directional"/>
			<xs:enumeration value="Load"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SignalRole">
		<xs:annotation>
			<xs:documentation>Enumeration of signal roles, as follows: Source: The signal is generated by an ATE resource. Sensor: The signal is measured by an ATE resource. Monitor: The signal is monitored by an ATE resource. Load: An ATE resource applies a load to the UUT.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Source"/>
			<xs:enumeration value="Sensor"/>
			<xs:enumeration value="Monitor"/>
			<xs:enumeration value="Load"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SignalCharacteristicRole">
		<xs:annotation>
			<xs:documentation>Enumeration of signal characteristic roles, as follows: Control: The characteristic is controlled by an ATE resource. Limit: The characteristic is limited by an ATE resource. Measurement: The characteristic is measured by an ATE resource. Capability: The characteristic is related to the capacity of an ATE resource to satisfy a test requirement, but is not required to be controlled, limited or measured.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Control"/>
			<xs:enumeration value="Limit"/>
			<xs:enumeration value="Measurement"/>
			<xs:enumeration value="Capability"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="OutcomeValue">
		<xs:annotation>
			<xs:documentation>Enumeration of possible values for outcomes of tests and test groups.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Passed"/>
			<xs:enumeration value="Failed"/>
			<xs:enumeration value="Aborted"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ComparisonResult">
		<xs:annotation>
			<xs:documentation>Enumeration of possible values for comparison results.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Equal"/>
			<xs:enumeration value="NotEqual"/>
			<xs:enumeration value="InTolerance"/>
			<xs:enumeration value="FailHigh"/>
			<xs:enumeration value="FailLow"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TestType">
		<xs:annotation>
			<xs:documentation>Enumeration of test types, as follows: UutIdentification: Verifies that the model of the current UUT is compatible with the testing procedure described in the instance document. PowerStimuliShort: Verifies power or stimulus inputs to be not shorted prior to any stimulus application to the UUT. SafeToTurnOn: Verifies that is it safe to turn on power. Performance: Verifies proper operation of the UUT. Diagnostic: Isolates faults within the UUT. </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="UutIdentification"/>
			<xs:enumeration value="PowerStimuliShort"/>
			<xs:enumeration value="SafeToTurnOn"/>
			<xs:enumeration value="Performance"/>
			<xs:enumeration value="Diagnostic"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="TestDescription">
		<xs:annotation>
			<xs:documentation>This element shall contain information defining test performance, test conditions, diagnostic requirements, and support equipment to locate, align, and verify the proper operation of a UUT.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="TsfLibraries" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall identify the Test Signal Framework (TSF) Libraries referenced in the current instance document. These TSF Libraries describe the interface and behavior of IEEE Std 1641 signals used in the instance document. Refer to clause 6 of IEEE 1641 for information on describing TSF Libraries.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="TsfLibrary" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Identifies one TSF Library by referencing the external XML documents that describe the interface and behavior of signals from the TSF Library.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="XmlSchemaURL" type="c:NonBlankURI">
											<xs:annotation>
												<xs:documentation>References the XML instance document that describes the interface and behavior of signals from the TSF Library. For each TSF Library, the file referenced by this element shall be identical to the file referenced by the ‘xsi:schemaLocation’ attribute of the root element. Note that the previous constraint is not enforced by this XML schema. Consumer applications should verify the constraint programmatically.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="XmlInstanceDocumentURL" type="c:NonBlankURI">
											<xs:annotation>
												<xs:documentation>References the XML Schema document that defines the interface of the TSF Library.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="name" type="c:NonBlankString">
										<xs:annotation>
											<xs:documentation>Descriptive name for the TSF Library.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ID" type="c:NonBlankString" use="required">
										<xs:annotation>
											<xs:documentation>Unique identifier, enables referencing of the TSF Library element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="UUT" type="td:UUT">
					<xs:annotation>
						<xs:documentation>Shall contain descriptive information for the UUT.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="InterfaceRequirements" type="td:InterfaceRequirements" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall describe the characteristics of equipment and circuitry required to test the UUT, excluding the test equipment (e.g., UUT connector information).</xs:documentation>
					</xs:annotation>
					<xs:key name="interfaceConnectorKey">
						<xs:selector xpath="./c:Connectors/c:Connector"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="interfaceConnectorRef" refer="td:interfaceConnectorKey">
						<xs:selector xpath="./c:Ports/c:Port/c:ConnectorPins/c:ConnectorPin"/>
						<xs:field xpath="@connectorID"/>
					</xs:keyref>
					<xs:unique name="interfacePortNamesUnique">
						<xs:selector xpath="./c:Ports/c:Port"/>
						<xs:field xpath="@name"/>
					</xs:unique>
					<xs:key name="testPointKey">
						<xs:selector xpath="./td:TestPoints/td:TestPoint"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:key name="electroOpticalInterfaceKey">
						<xs:selector xpath="./td:ElectroOpticalInterfaces/td:ElectroOpticalInterface"/>
						<xs:field xpath="@ID"/>
					</xs:key>
				</xs:element>
				<xs:element name="SignalRequirements" type="td:SignalRequirements" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall specify all UUT signal requirements for testing the UUT.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="PerformanceCharacteristics" type="td:PerformanceCharacteristics" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall describe the performance characteristics of the UUT. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="DetailedTestInformation" type="td:DetailedTestInformation">
					<xs:annotation>
						<xs:documentation>Shall contain all of the sufficient data for each UUT test to completely describe all input conditions and measurements required.</xs:documentation>
					</xs:annotation>
					<xs:key name="stateVariableKey">
						<xs:selector xpath=".//td:StateVariable"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="stateVariableOperationRef" refer="td:stateVariableKey">
						<xs:selector xpath=".//td:Operation"/>
						<xs:field xpath="@stateVariableID"/>
					</xs:keyref>
					<xs:key name="stateVariableValueKey">
						<xs:selector xpath=".//td:StateVariable/td:Values/td:Value"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="stateVariableValueInitialRef" refer="td:stateVariableValueKey">
						<xs:selector xpath=".//td:StateVariable/td:InitialValue"/>
						<xs:field xpath="@valueID"/>
					</xs:keyref>
					<xs:keyref name="stateVariableValuePreConditionRef" refer="td:stateVariableValueKey">
						<xs:selector xpath=".//td:PreCondition/td:StateVariableValue"/>
						<xs:field xpath="@stateVariableValueID"/>
					</xs:keyref>
					<xs:keyref name="stateVariableValuePostConditionRef" refer="td:stateVariableValueKey">
						<xs:selector xpath=".//td:PostCondition/td:StateVariableValue"/>
						<xs:field xpath="@stateVariableValueID"/>
					</xs:keyref>
					<xs:keyref name="stateVariableValueOperationRef" refer="td:stateVariableValueKey">
						<xs:selector xpath=".//td:Operation"/>
						<xs:field xpath="@stateVariableValueID"/>
					</xs:keyref>
					<xs:key name="testGroupKey">
						<xs:selector xpath=".//td:TestGroup"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="testGroupEntryPointRef" refer="td:testGroupKey">
						<xs:selector xpath=".//td:TestGroupEntryPoint"/>
						<xs:field xpath="@testGroupID"/>
					</xs:keyref>
					<xs:keyref name="testGroupCallRef" refer="td:testGroupKey">
						<xs:selector xpath=".//td:Behavior/td:TestGroupCall"/>
						<xs:field xpath="@testGroupID"/>
					</xs:keyref>
					<xs:keyref name="testGroupStepRef" refer="td:testGroupKey">
						<xs:selector xpath=".//td:Step/td:TestGroupReference"/>
						<xs:field xpath="@testGroupID"/>
					</xs:keyref>
					<xs:keyref name="testGroupInitializationRef" refer="td:testGroupKey">
						<xs:selector xpath=".//td:InitializationTestGroup"/>
						<xs:field xpath="@testGroupID"/>
					</xs:keyref>
					<xs:keyref name="testGroupTerminationRef" refer="td:testGroupKey">
						<xs:selector xpath=".//td:TerminationTestGroup"/>
						<xs:field xpath="@testGroupID"/>
					</xs:keyref>
					<xs:key name="testGroupOutcomeKey">
						<xs:selector xpath=".//td:TestGroup/td:Outcomes/td:Outcome"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="testGroupOutcomeRef" refer="td:testGroupOutcomeKey">
						<xs:selector xpath=".//td:Step/td:Results/td:Result/td:TestGroupOutcomeReference"/>
						<xs:field xpath="@testGroupOutcomeID"/>
					</xs:keyref>
					<xs:key name="testGroupParameterKey">
						<xs:selector xpath=".//td:TestGroup/td:ParameterDescriptions/td:ParameterDescription"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="testGroupParameterDatumRef" refer="td:testGroupParameterKey">
						<xs:selector xpath=".//c:Datum"/>
						<xs:field xpath="@testGroupParameterID"/>
					</xs:keyref>
					<xs:keyref name="testGroupParameterValueRef" refer="td:testGroupParameterKey">
						<xs:selector xpath=".//td:ValueToParameter"/>
						<xs:field xpath="@testGroupParameterID"/>
					</xs:keyref>
					<xs:key name="testGroupTestResultKey">
						<xs:selector xpath=".//td:TestGroup/td:TestResultDescriptions/td:TestResultDescription"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="testGroupTestResultTestResultRef" refer="td:testGroupTestResultKey">
						<xs:selector xpath=".//td:Action/td:TestResults/td:TestResult/td:ValueToTestResult"/>
						<xs:field xpath="@testGroupTestResultID"/>
					</xs:keyref>
					<xs:keyref name="testGroupTestResultSessionDatumRef" refer="td:testGroupTestResultKey">
						<xs:selector xpath=".//td:Action/td:SessionData/td:SessionDatum/td:ValueToTestResult"/>
						<xs:field xpath="@testGroupTestResultID"/>
					</xs:keyref>
					<xs:key name="actionKey">
						<xs:selector xpath=".//td:Action"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="actionInitializationRef" refer="td:actionKey">
						<xs:selector xpath=".//td:InitializationAction"/>
						<xs:field xpath="@actionID"/>
					</xs:keyref>
					<xs:keyref name="actionTerminationRef" refer="td:actionKey">
						<xs:selector xpath=".//td:TerminationAction"/>
						<xs:field xpath="@actionID"/>
					</xs:keyref>
					<xs:keyref name="actionStepRef" refer="td:actionKey">
						<xs:selector xpath=".//td:Step/td:ActionReference"/>
						<xs:field xpath="@actionID"/>
					</xs:keyref>
					<xs:keyref name="actionTestGroupRef" refer="td:actionKey">
						<xs:selector xpath=".//td:TestGroup/td:ActionReferences/td:ActionReference"/>
						<xs:field xpath="@actionID"/>
					</xs:keyref>
					<xs:keyref name="actionEntryPointRef" refer="td:actionKey">
						<xs:selector xpath=".//td:ActionEntryPoint"/>
						<xs:field xpath="@actionID"/>
					</xs:keyref>
					<xs:key name="actionOutcomeKey">
						<xs:selector xpath=".//td:Action/td:Outcomes/td:Outcome"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="actionOutcomeResultRef" refer="td:actionOutcomeKey">
						<xs:selector xpath=".//td:Result/td:ActionOutcomeReference"/>
						<xs:field xpath="@actionOutcomeID"/>
					</xs:keyref>
					<xs:keyref name="actionOutcomeOperationRef" refer="td:actionOutcomeKey">
						<xs:selector xpath=".//td:Operation/td:Results/td:Result"/>
						<xs:field xpath="@actionOutcomeID"/>
					</xs:keyref>
					<xs:key name="testResultKey">
						<xs:selector xpath=".//td:Action/td:TestResults/td:TestResult"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="testResultDatumRef" refer="td:testResultKey">
						<xs:selector xpath=".//c:Datum/td:TestResult"/>
						<xs:field xpath="@testResultID"/>
					</xs:keyref>
					<xs:keyref name="testResultOperationRef" refer="td:testResultKey">
						<xs:selector xpath=".//td:Operation/td:ValueToTestResult"/>
						<xs:field xpath="@testResultID"/>
					</xs:keyref>
					<xs:keyref name="resultOutValueResultID" refer="td:testResultKey">
						<xs:selector xpath=".//td:IeeeStd1641/td:IeeeStd1641OutValues/td:ResultOutValue"/>
						<xs:field xpath="@resultID"/>
					</xs:keyref>
					<xs:key name="sessionDatumKey">
						<xs:selector xpath=".//td:Action/td:SessionData/td:SessionDatum"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="sessionDatumDatumRef" refer="td:sessionDatumKey">
						<xs:selector xpath=".//c:Datum/td:SessionDatum"/>
						<xs:field xpath="@sessionDatumID"/>
					</xs:keyref>
					<xs:keyref name="sessionDatumOperationRef" refer="td:sessionDatumKey">
						<xs:selector xpath=".//td:Operation/td:ValueToSessionDatum"/>
						<xs:field xpath="@sessionDatumID"/>
					</xs:keyref>
					<xs:key name="measurementKey">
						<xs:selector xpath=".//td:Operation/td:Measurement"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="measurementRef" refer="td:measurementKey">
						<xs:selector xpath=".//c:Datum"/>
						<xs:field xpath="@measurementID"/>
					</xs:keyref>
					<xs:key name="globalSignalKey">
						<xs:selector xpath=".//td:GlobalSignal/td:Source"/>
						<xs:field xpath="@ID"/>
					</xs:key>
					<xs:keyref name="globalSignalReferenceRef" refer="td:globalSignalKey">
						<xs:selector xpath=".//td:GlobalSignalReference"/>
						<xs:field xpath="@globalSignalID"/>
					</xs:keyref>
					<xs:keyref name="globalSignalOperationRef" refer="td:globalSignalKey">
						<xs:selector xpath=".//td:GlobalSignalOperation"/>
						<xs:field xpath="@globalSignalID"/>
					</xs:keyref>
				</xs:element>
				<xs:element name="FailureFaultData" type="td:FaultData" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall contain UUT fault data, including faults and failures. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="AutomaticGeneration" type="td:AutomaticGeneration" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall identify the Automatic Test Program Generation (ATPG) tools used to generate the test program.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="c:DocumentRootAttributes"/>
			<xs:attribute name="name" type="c:NonBlankString">
				<xs:annotation>
					<xs:documentation>Name of the instance document.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="version" type="c:NonBlankString">
				<xs:annotation>
					<xs:documentation>Version of the instance document.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
		<xs:key name="componentKey">
			<xs:selector xpath=".//td:Component"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="componentRef" refer="td:componentKey">
			<xs:selector xpath=".//td:AdjustComponent"/>
			<xs:field xpath="@componentID"/>
		</xs:keyref>
		<xs:key name="faultKey">
			<xs:selector xpath=".//td:Component/td:Faults/td:Fault"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="faultOutcomeRef" refer="td:faultKey">
			<xs:selector xpath=".//td:Outcome/td:DetectionIsolation/td:Faults/td:Fault"/>
			<xs:field xpath="@faultID"/>
		</xs:keyref>
		<xs:keyref name="faultNextStepRef" refer="td:faultKey">
			<xs:selector xpath=".//td:NextStep/td:DetectionIsolation/td:Faults/td:Fault"/>
			<xs:field xpath="@faultID"/>
		</xs:keyref>
		<xs:key name="failureKey">
			<xs:selector xpath=".//td:FailureFaultData/td:Failures/td:Failure"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="failureOutcomeRef" refer="td:failureKey">
			<xs:selector xpath=".//td:Outcome/td:DetectionIsolation/td:Failures/td:Failure"/>
			<xs:field xpath="@failureID"/>
		</xs:keyref>
		<xs:keyref name="failureNextStepRef" refer="td:failureKey">
			<xs:selector xpath=".//td:NextStep/td:DetectionIsolation/td:Failures/td:Failure"/>
			<xs:field xpath="@failureID"/>
		</xs:keyref>
		<xs:key name="inputKey">
			<xs:selector xpath=".//td:PerformanceCharacteristics/td:Inputs/td:Input"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="inputRef" refer="td:inputKey">
			<xs:selector xpath=".//td:RelatedInputs/td:RelatedInput"/>
			<xs:field xpath="@inputID"/>
		</xs:keyref>
		<xs:key name="controlKey">
			<xs:selector xpath=".//td:PerformanceCharacteristics/td:Controls/td:Control"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="controlRef" refer="td:controlKey">
			<xs:selector xpath=".//td:RelatedControls/td:RelatedControl"/>
			<xs:field xpath="@controlID"/>
		</xs:keyref>
		<xs:key name="tsfLibraryKey">
			<xs:selector xpath="./td:TsfLibraries/td:TsfLibrary"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="tsfLibraryRef" refer="td:tsfLibraryKey">
			<xs:selector xpath=".//td:TsfClass"/>
			<xs:field xpath="@tsfLibraryID"/>
		</xs:keyref>
		<xs:key name="toolKey">
			<xs:selector xpath=".//td:Tools/td:Tool"/>
			<xs:field xpath="@ID"/>
		</xs:key>
		<xs:keyref name="toolRef" refer="td:toolKey">
			<xs:selector xpath=".//td:Behavior/td:AutomaticGeneration"/>
			<xs:field xpath="@toolID"/>
		</xs:keyref>
	</xs:element>
	<xs:complexType name="SignalRequirements">
		<xs:annotation>
			<xs:documentation>Shall describe all UUT signal requirements for testing the UUT. Note that UUT power requirements can be described using this element, as well as the UUT/TestData/PowerRequirements element. If the instance document contains power requirements specified using both elements, these descriptions shall be consistent.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SignalRequirement" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes one UUT signal requirement.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TsfClass" type="td:TsfClass">
							<xs:annotation>
								<xs:documentation>Identifies the TSF class for the signal.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="TsfClassAttribute" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Describes requirements for one attribute of the signal.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="td:TsfClassAttribute">
										<xs:attribute name="role" type="td:SignalCharacteristicRole" use="required">
											<xs:annotation>
												<xs:documentation>Specifies the role of the signal characteristic, e.g., control, limit, measurement, capability.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="role" type="td:SignalRole" use="required">
						<xs:annotation>
							<xs:documentation>Signal role, e.g., source, sensor, monitor, load.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="InterfaceRequirements">
		<xs:annotation>
			<xs:documentation>Shall describe the characteristics of equipment and circuitry required to test the UUT (excluding the test equipment). The 'ID' attribute of each Connector descendant shall contain the reference designator of the connector, for example "J1". The 'pinID' attribute of each ConnectorPin descendant shall contain the pin number or name, for example: "1", "A2", etc. The type DetailedConnectorLocation shall be assigned to ConnectorPin descendants when it is necessary to provide detailed information for the connector pin. Refer to B.2 for an example on using DetailedConnectorLocation.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="c:PhysicalInterface">
				<xs:sequence>
					<xs:element name="TestPoints" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall contain the description of electrical test points.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="TestPoint" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Description of a test point. May reference a test point provided on the circuit board, or a component pin accessible for manual probing.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Function" type="td:PinFunction" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Describes the function of the test point, including signal name, signal definition and signal description.</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="Port" type="c:Port">
												<xs:annotation>
													<xs:documentation>Describes the physical interface of the test point. The attribute 'name' shall contain the reference designator of the test point.</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="ID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Unique identifier, enables referencing the test point.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="ElectroOpticalInterfaces" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall contain the description of Electro-Optical interfaces to the UUT.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ElectroOpticalInterface" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Describes one Electro-Optical interface.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Description">
												<xs:annotation>
													<xs:documentation>Free-form description.</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="Extension" type="c:Extension">
												<xs:annotation>
													<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="ID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Unique identifier, enables referencing the interface.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="type" type="td:ElectroOpticalInterfaceType">
											<xs:annotation>
												<xs:documentation>Interface type. Shall be one of: Laser, Infrared, Light, Other.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Fixtures" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall contain the description of any fixtures required to verify operation of the UUT. This includes UUT mounting, holding and support fixtures, cooling carts, pneumatic function generators, hydraulic fixtures, etc.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Fixture" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Describes one fixture. Child element Definition shall be used to describe the fixture in the current instance document. Child element DescriptionDocumentReference shall be used to  reference an external XML document conformant with the schema defined in IEEE Std. 1671.5 Test Adapter.</xs:documentation>
									</xs:annotation>
									<xs:complexType mixed="false">
										<xs:complexContent mixed="false">
											<xs:extension base="c:ItemDescriptionReference">
												<xs:attribute name="type" type="c:NonBlankString">
													<xs:annotation>
														<xs:documentation>Fixture type (e.g., holding, pneumatic, hydraulic, cooling, etc.).</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:extension>
										</xs:complexContent>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="SignalConditioning" type="c:NonBlankString" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall contain a free-form description of signal conditioning requirements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Extension" type="c:Extension" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PerformanceCharacteristics">
		<xs:annotation>
			<xs:documentation>Shall describe the "performance" envelope of the UUT. The description shall contain sufficient detail that any "black box" with the characteristics described could be inserted in the system without degrading the system performance. Used to assure consistency at all levels of maintenance as well as compatibility between maintenance and Quality Assurance test results.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Inputs" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe all UUT inputs (e.g., electrical, optical, mechanical, etc.), defined along with their range and tolerances.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Input" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Describes one UUT input.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="td:PerformanceCharacteristicType">
										<xs:sequence>
											<xs:element name="Characteristics">
												<xs:annotation>
													<xs:documentation>Shall contain nominal, range and tolerance characteristics for the UUT input.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="NominalValue" type="c:Value" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the nominal value for the UUT input .</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Range" type="c:Limit" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the range of values acceptable for the UUT input.</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="ErrorLimits" type="c:Limit" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the error limit (i.e., tolerance) for the UUT input.</xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Outputs" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe all UUT outputs, defined in terms of their range, accuracy, and relationship to the input conditions.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Output" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Describes one UUT output.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="td:PerformanceCharacteristicType">
										<xs:sequence>
											<xs:element name="Characteristics" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Shall contain nominal, range and accuracy characteristics for the UUT output.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="NominalValue" type="c:Value" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the nominal value for the UUT output.</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Range" type="c:Limit" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the range of values expected for the UUT output.</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="ErrorLimits" type="c:Limit" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the error limit (i.e., accuracy) for the UUT output.</xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="RelatedInputs" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Shall describe input-output relationships, for the current output.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="RelatedInput" maxOccurs="unbounded">
															<xs:annotation>
																<xs:documentation>Describes the relationship between one UUT input and the current output.</xs:documentation>
															</xs:annotation>
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="Relationship" type="c:NonBlankString">
																		<xs:annotation>
																			<xs:documentation>Free-form description of the relationship.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																</xs:sequence>
																<xs:attribute name="inputID" type="c:NonBlankString" use="required">
																	<xs:annotation>
																		<xs:documentation>ID of the related input.</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="RelatedControls" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Shall describe control-output relationships, for the current output.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="RelatedControl" maxOccurs="unbounded">
															<xs:annotation>
																<xs:documentation>Describes the relationship between one UUT control and the current output.</xs:documentation>
															</xs:annotation>
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="Relationship" type="c:NonBlankString">
																		<xs:annotation>
																			<xs:documentation>Free-form description of the relationship.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																</xs:sequence>
																<xs:attribute name="controlID" type="c:NonBlankString" use="required">
																	<xs:annotation>
																		<xs:documentation>ID of the related control.</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Controls" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the controls and ranges of control for the UUT.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Control" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Describes one UUT control.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="td:PerformanceCharacteristicType">
										<xs:sequence>
											<xs:element name="Characteristics">
												<xs:annotation>
													<xs:documentation>Shall contain the range characteristics of the UUT control.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Range" type="c:Limit">
															<xs:annotation>
																<xs:documentation>Shall specify the range of values acceptable for the UUT control.</xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DetailedTestInformation">
		<xs:annotation>
			<xs:documentation>Shall describe initialization, performance, and diagnostic test information</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="EntryPoints">
				<xs:annotation>
					<xs:documentation>Shall identify the test groups or actions that can be used as entry points for testing the UUT. For each entry point, test conditions are completely stated and are not dependent on previous tests or setups. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TestGroupEntryPoints" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall identify the test groups that can be used as entry points for testing the UUT.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="TestGroupEntryPoint" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall identify one "test group" entry point.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="ID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>Unique identifier, enables the referencing of the entry point.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
											<xs:attribute name="testGroupID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the test group specified as entry point.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="primaryTestGroupEntryPointID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Shall identify one of the entry points described through TestGroupEntryPoint child elements as the "primary" entry point of the program. The "primary" entry point is used in the absence of an entry point selection (e.g., by the operator). </xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
							<xs:key name="entryPointKey">
								<xs:selector xpath="./td:TestGroupEntryPoint"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="entryPointRef" refer="td:entryPointKey">
								<xs:selector xpath="."/>
								<xs:field xpath="@primaryTestGroupEntryPointID"/>
							</xs:keyref>
						</xs:element>
						<xs:element name="ActionEntryPoints" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall identify the actions that can be used as entry points for testing the UUT.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ActionEntryPoint" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall identify one "action" entry point. This can be a test or a session action.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="actionID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the action specified as entry point.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Actions">
				<xs:annotation>
					<xs:documentation>Shall contain the list of actions (tests and session actions) described by the instance document.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Action" type="td:ActionType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one action (test or session action). Note that ActionType is an abstract type. Consequently, elements with derived types shall be provided. The 'xsi:type' attribute shall be used to indicates the type of these elements. </xs:documentation>
							</xs:annotation>
							<xs:key name="localSignalKey">
								<xs:selector xpath=".//td:LocalSignal/td:Source|.//td:LocalSignal/td:Sensor|.//td:LocalSignal/td:Monitor"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="localSignalRef" refer="td:localSignalKey">
								<xs:selector xpath=".//td:LocalSignalReference"/>
								<xs:field xpath="@localSignalID"/>
							</xs:keyref>
							<xs:key name="localSourceSignalKey">
								<xs:selector xpath=".//td:LocalSignal/td:Source"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="localSourceSignalRef" refer="td:localSourceSignalKey">
								<xs:selector xpath=".//td:LocalSourceSignalReference"/>
								<xs:field xpath="@localSourceSignalID"/>
							</xs:keyref>
							<xs:key name="localSensorSignalKey">
								<xs:selector xpath=".//td:LocalSignal/td:Sensor"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="localSensorSignalRef" refer="td:localSensorSignalKey">
								<xs:selector xpath=".//td:LocalSensorSignalReference"/>
								<xs:field xpath="@localSensorSignalID"/>
							</xs:keyref>
							<xs:key name="localMonitorSignalKey">
								<xs:selector xpath=".//td:LocalSignal/td:Monitor"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="localMonitorSignalLocalRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:LocalMonitorSignalReference"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:keyref name="localMonitorSignalEventFromRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:EventBased/td:From"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:keyref name="localMonitorSignalEventToRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:EventBased/td:To"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:keyref name="localMonitorSignalSyncToRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:Synchronization/td:SyncTo"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:keyref name="localMonitorSignalGatedWithRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:Synchronization/td:Gated/td:With"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:keyref name="localMonitorSignalGatedFromRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:Synchronization/td:Gated/td:FromTo/td:From"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:keyref name="localMonitorSignalGatedToRef" refer="td:localMonitorSignalKey">
								<xs:selector xpath=".//td:Synchronization/td:Gated/td:FromTo/td:To"/>
								<xs:field xpath="@localMonitorSignalID"/>
							</xs:keyref>
							<xs:key name="measurementKey2">
								<xs:selector xpath=".//td:Operation/td:Measurement"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="measurementOperationRef" refer="td:measurementKey2">
								<xs:selector xpath=".//td:Operation/td:MeasurementReference"/>
								<xs:field xpath="@measurementID"/>
							</xs:keyref>
							<xs:keyref name="measurementValueRef" refer="td:measurementKey2">
								<xs:selector xpath=".//td:Value"/>
								<xs:field xpath="@measurementID"/>
							</xs:keyref>
							<xs:keyref name="measurementDatumRef" refer="td:measurementKey2">
								<xs:selector xpath=".//c:Datum"/>
								<xs:field xpath="@measurementID"/>
							</xs:keyref>
							<xs:key name="outcomeKey1">
								<xs:selector xpath=".//td:Outcomes/td:Outcome"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="outcomeOperationRef" refer="td:outcomeKey1">
								<xs:selector xpath=".//td:Operation/td:Results/td:Result"/>
								<xs:field xpath="@actionOutcomeID"/>
							</xs:keyref>
							<xs:keyref name="outcomeConditionRef" refer="td:outcomeKey1">
								<xs:selector xpath=".//td:ActionOutcomeReference"/>
								<xs:field xpath="@actionOutcomeID"/>
							</xs:keyref>
							<xs:key name="parameterKey">
								<xs:selector xpath=".//td:Parameters/td:Parameter"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="parameterDatumRef" refer="td:parameterKey">
								<xs:selector xpath=".//c:Datum"/>
								<xs:field xpath="@parameterID"/>
							</xs:keyref>
							<xs:keyref name="parameterValueRef" refer="td:parameterKey">
								<xs:selector xpath=".//td:Value"/>
								<xs:field xpath="@parameterID"/>
							</xs:keyref>
							<xs:keyref name="parameterInParameterValueRef" refer="td:parameterKey">
								<xs:selector xpath=".//td:ParameterInValue"/>
								<xs:field xpath="@parameterID"/>
							</xs:keyref>
							<xs:key name="iteratorKey">
								<xs:selector xpath=".//td:Decision/td:Iterator"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="iteratorInIteratorValueRef" refer="td:iteratorKey">
								<xs:selector xpath=".//td:IteratorInValue"/>
								<xs:field xpath="@iteratorID"/>
							</xs:keyref>
							<xs:keyref name="iteratorDatumRef" refer="td:iteratorKey">
								<xs:selector xpath=".//c:Datum"/>
								<xs:field xpath="@iteratorID"/>
							</xs:keyref>
							<xs:key name="messageInKey">
								<xs:selector xpath=".//td:MessageIn"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="messageInRef" refer="td:messageInKey">
								<xs:selector xpath=".//td:Value"/>
								<xs:field xpath="@messageInID"/>
							</xs:keyref>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="actionNamesUnique">
					<xs:selector xpath="./td:Action"/>
					<xs:field xpath="@name"/>
				</xs:unique>
			</xs:element>
			<xs:element name="TestGroups">
				<xs:annotation>
					<xs:documentation>Shall contain the list of test groups described by the instance document.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TestGroup" type="td:TestGroupType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one test group. Note that TestGroupType is an abstract type. Consequently, elements with derived types shall be assigned to this element. The xsi:type' attribute shall be used to indicates the type of these elements. </xs:documentation>
							</xs:annotation>
							<xs:key name="outcomeKey2">
								<xs:selector xpath=".//td:Outcome"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="outcomeSequenceRef" refer="td:outcomeKey2">
								<xs:selector xpath=".//td:SequenceOutcome"/>
								<xs:field xpath="@sequenceOutcomeID"/>
							</xs:keyref>
							<xs:keyref name="outcomeFinishRef" refer="td:outcomeKey2">
								<xs:selector xpath=".//td:Finish"/>
								<xs:field xpath="@sequenceOutcomeID"/>
							</xs:keyref>
							<xs:key name="stepKey">
								<xs:selector xpath=".//td:Step"/>
								<xs:field xpath="@ID"/>
							</xs:key>
							<xs:keyref name="stepEntryPointRef" refer="td:stepKey">
								<xs:selector xpath=".//td:EntryPoint"/>
								<xs:field xpath="@stepID"/>
							</xs:keyref>
							<xs:keyref name="stepNextStepRef" refer="td:stepKey">
								<xs:selector xpath=".//td:NextStep"/>
								<xs:field xpath="@stepID"/>
							</xs:keyref>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="testGroupNamesUnique">
					<xs:selector xpath="./td:TestGroup"/>
					<xs:field xpath="@name"/>
				</xs:unique>
			</xs:element>
			<xs:element name="StateVariables" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall contain the list of state variables. State variables are used to specify conditions for the execution of tests. Refer to B.3 for an example on using state variables to specify conditions.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="StateVariable" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one state variable.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Free-form description for the state variable.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="InitialValue">
										<xs:annotation>
											<xs:documentation>Shall identify the value assumed by the state variable when execution starts.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="valueID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the element containing the initial value specified for the state variable.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="Values">
										<xs:annotation>
											<xs:documentation>Shall contain a list of values that can be assumed by the state variable. All the values shall have identical data type, unit and qualifier. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Value" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>Shall specify one value that can be assumed by the state variable.</xs:documentation>
													</xs:annotation>
													<xs:complexType mixed="false">
														<xs:complexContent mixed="false">
															<xs:extension base="c:Value">
																<xs:attribute name="ID" type="c:NonBlankString" use="required">
																	<xs:annotation>
																		<xs:documentation>Unique identifier, enables referencing the value.</xs:documentation>
																	</xs:annotation>
																</xs:attribute>
															</xs:extension>
														</xs:complexContent>
													</xs:complexType>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="ID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Unique identifier, enables referencing the state variable.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="name" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Name of the state variable.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="stateVariableNamesUnique">
					<xs:selector xpath="./td:StateVariable"/>
					<xs:field xpath="@name"/>
				</xs:unique>
			</xs:element>
			<xs:element name="GlobalSignals" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall identify global signals, shared by multiple tests. Global signals are referenced from various elements that describe the behavior of actions. Refer to B.4 an example on using global signals. </xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="GlobalSignal" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall identify one global signal, which can only be a source signal.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Source">
										<xs:annotation>
											<xs:documentation>Shall describes a global source signal. Can be referenced from GlobalSignalOperation child elements of ActionType/Behavior/IeeeStd1641 and from operations with type OperationSetup, OperationChange, OperationReset, OperationConnect, and OperationDisconnect.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="ID" type="c:NonBlankString">
												<xs:annotation>
													<xs:documentation>Unique identifier, enables referencing the global source signal.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="name" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>Name of the global signal. May be used for documentation purposes.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="UUT">
		<xs:annotation>
			<xs:documentation>Shall contain descriptive UUT information required to support the test procedure specified in the current instance document.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:ItemDescriptionReference">
				<xs:annotation>
					<xs:documentation>Shall contain UUT Description data, provided inline or in an external XML instance document compliant with the XML schema defined in IEEE Std 1671.3 UUT Description.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Category" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the UUT category, e.g., analog, digital, etc.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PhysicalCharacteristics" type="hc:PhysicalCharacteristics" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the physical characteristics of the UUT.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Documentation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall reference all documents, drawings, diagrams, parts lists associated with the UUT and its sub-assemblies (used to verify UUT operation). The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TheoryOfOperation" type="c:Document" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT Theory of Operation. Engineering data needed to acquire an understanding of the operation of the UUT in its intended environment.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="OperatingInstructions" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Detailed operating instructions for the UUT. Applicable to UUTs whose performance is dependent upon operator interaction.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="TestStrategyReport" type="c:Document" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT Test Strategy Report. Describes the approach taken to combine factors (constraints, costs, execution times, etc.) that are to be applied to the testing of the UUT.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Fmeca" type="c:Document" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT Failure Modes, Effects and Criticality Analysis (FMECA) report.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="ConfigurationData" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT configuration information (outline drawings).</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="InstallationDrawings" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT installation drawings (main drawings).</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="AssemblyDrawings" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT assembly drawings (detail and subassembly)</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="ModuleSubAssemblySchematics" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT subassembly schematics, showing the circuitry contained within each module and subassembly. The schematics may include, for example, amplitude and frequency of each input and output, reference designators of each part and test points.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="SpecificationControlDrawings" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT specification control drawings for all nonstandard parts.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="WiringDiagrams" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT wiring diagrams, showing the actual physical wiring arrangement. Wire Run Lists or tables supplement the diagram. May include Printed Circuit layouts (location of components, junctions, terminals).</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="LogicDiagrams" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Detailed UUT logic diagrams.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="BlockDiagrams" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT functional block diagrams, identifying parameters and associated signal tolerances at the external and internal interfaces.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="PartsLists" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT parts lists, specifying the component parts of each assembly or subassembly. Components will be listed by reference designator and manufacturers part number</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="FamilyTree" type="c:Document" minOccurs="0">
							<xs:annotation>
								<xs:documentation>UUT family tree, identifying each functional module and subassembly. Utilized to enable proper part number and configuration accountability of all UUT subassemblies and modules for which test requirements are defined.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Requirements" type="c:Document" minOccurs="0">
							<xs:annotation>
								<xs:documentation> Document describing UUT test requirements.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Other" type="c:DocumentList" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Other documentation applicable to the UUT.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Extension" type="c:Extension" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="TestData" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall contain all of the general UUT data that may be of use in developing test requirements and test programs. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PowerRequirements" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall specify all UUT alternating current (AC) and direct current (DC) power source requirements for testing the UUT. Note that UUT power requirements can be described using this element, as well as the TestDescription/SignalRequirements element. The SignalRequirements element shall be used when signal requirements conformant with IEEE Std 1641 are desired. This element shall be used in all other situations.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="DCPowerRequirements" minOccurs="0">
										<xs:annotation>
											<xs:documentation>DC power requirements for testing the UUT.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="DCPowerRequirement" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>Requirements for one DC power source.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:complexContent>
															<xs:extension base="td:PerformanceCharacteristicType">
																<xs:sequence>
																	<xs:element name="Voltage" type="td:PowerSpecification" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Requirement for voltage value, polarity and tolerance. The sign of the floating-point values shall define their polarity.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																	<xs:element name="Current" type="td:PowerSpecification" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Maximum current requirement.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																	<xs:element name="Ripple" type="td:PowerSpecification" minOccurs="0" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Maximum ripple amplitude, including periodic and random variations.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																</xs:sequence>
															</xs:extension>
														</xs:complexContent>
													</xs:complexType>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
										<xs:unique name="DCPowerRequirementUnique">
											<xs:selector xpath="./td:DCPowerRequirement"/>
											<xs:field xpath="@ID"/>
										</xs:unique>
									</xs:element>
									<xs:element name="ACPowerRequirements" minOccurs="0">
										<xs:annotation>
											<xs:documentation>AC power requirements for testing the UUT.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="ACPowerRequirement" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>Requirements for one AC power source.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:complexContent>
															<xs:extension base="td:PerformanceCharacteristicType">
																<xs:sequence>
																	<xs:element name="Voltage" type="td:PowerSpecification" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Requirement for voltage value and tolerance.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																	<xs:element name="Frequency" type="td:PowerSpecification" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Requirement for frequency value and tolerance.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																	<xs:element name="Current" type="td:PowerSpecification" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Maximum current requirement.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																	<xs:element name="Phase" type="c:NonBlankString" default="Single Phase" minOccurs="0">
																		<xs:annotation>
																			<xs:documentation>Requirement for the phase of the AC voltage source.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																	<xs:element name="PhaseReference" type="c:NonBlankString" default="L-N" minOccurs="0">
																		<xs:annotation>
																			<xs:documentation>Phase reference.</xs:documentation>
																		</xs:annotation>
																	</xs:element>
																</xs:sequence>
															</xs:extension>
														</xs:complexContent>
													</xs:complexType>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
										<xs:unique name="ACPowerRequirementUnique">
											<xs:selector xpath="./td:ACPowerRequirement"/>
											<xs:field xpath="@ID"/>
										</xs:unique>
									</xs:element>
									<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Free-form descriptive information.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Extension" type="c:Extension" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="OperationalAndSafetyRequirements" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall specify any precautions or instructions necessary for personnel and equipment protection. Shall include specification of any special handling (e.g., Electrostatic Sensitive Device) required by the UUT and the specification of any general procedures and precautions associated with operating the UUT. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Operational" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall describe all conditions required for proper and safe operation, including cooling air, hydraulic pressure, and pneumatic sources.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="AdjustmentAlignment" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall specify adjustment and alignment requirements.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Safety" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall describe all special precautions and instructions regarding personnel and equipment protection in the presence of hazards such as high voltage, RF radiation, or lasers.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="HandlingAndMaintenance" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall specify special handling and maintenance requirements.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Extension" type="c:Extension" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="SpecialElectricalComponents" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall identify all special electrical components required to test the UUT.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="SpecialElectricalComponent" type="c:ItemDescription" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Identification of one special electrical component required to test the UUT.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="SpecialTools" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall identify of special tools (e.g., card extenders) required to test the UUT.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="SpecialTool" type="c:ItemDescription" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Identification of one special tool required to test the UUT.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Extension" type="c:Extension" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FaultData">
		<xs:annotation>
			<xs:documentation>Shall contain UUT fault data, including failures and faults defined for the UUT.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Failures" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall contain the list of failures defined for the UUT. A failure is a change in operating characteristics of the UUT resulting in degradation of its performance. The Failures defined for the UUT typically correspond to the prime failure modes of all inputs and outputs to each next lower assembly of the UUT.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Failure" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one failure.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="td:FaultFailureType">
										<xs:attribute name="type" type="td:FailureType" use="required">
											<xs:annotation>
												<xs:documentation>Type of the failure. Shall be one of: Detectable, Non-Detectable, Non-Functional.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="FaultData" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the faults defined for the UUT. A fault is a condition that causes a component of the UUT to fail to perform in a required manner (e.g., broken wire, short circuit, value out of tolerance, etc.). Refer to B.2 for an example on describing faults.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Components">
							<xs:annotation>
								<xs:documentation>Shall contain the list of UUT components for which faults are defined.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Component" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall describe one UUT component for which faults are defined. The attribute 'designator' of child element Identification shall be used to specify the reference designator of the component (e.g., "R1"). Element Identification/ModelName shall be used to specify the type of the component (e.g., "Resistor"). </xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="td:Component">
													<xs:sequence>
														<xs:element name="Faults" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall contain the list of faults defined for the current UUT component.</xs:documentation>
															</xs:annotation>
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="Fault" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Shall describe one fault defined for the current UUT component.</xs:documentation>
																		</xs:annotation>
																		<xs:complexType mixed="false">
																			<xs:complexContent mixed="false">
																				<xs:extension base="td:FaultFailureType">
																					<xs:attribute name="detectability" type="td:Detectability" use="required">
																						<xs:annotation>
																							<xs:documentation>Detectability of the fault. Shall be one of: DetectableInsertable, DetectableDestructive, NonDetectable.</xs:documentation>
																						</xs:annotation>
																					</xs:attribute>
																				</xs:extension>
																			</xs:complexContent>
																		</xs:complexType>
																	</xs:element>
																</xs:sequence>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:extension>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Component" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe one component of the UUT.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:ItemDescription">
				<xs:sequence>
					<xs:element name="Interface" type="c:PhysicalInterface" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define the interface of the component. For components that are regular electronic parts, a single "dummy" Connector shall be defined, with minimal information attached. Additional information can be provided and multiple Connector elements can be used when describing "daughter card" components. </xs:documentation>
						</xs:annotation>
						<xs:key name="componentConnectorKey">
							<xs:selector xpath="./c:Connectors/c:Connector"/>
							<xs:field xpath="@ID"/>
						</xs:key>
						<xs:keyref name="componentConnectorRef" refer="td:componentConnectorKey">
							<xs:selector xpath="./c:Ports/c:Port/c:ConnectorPins/c:ConnectorPin"/>
							<xs:field xpath="@connectorID"/>
						</xs:keyref>
						<xs:unique name="componentPortNamesUnique">
							<xs:selector xpath="./c:Ports/c:Port"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="ID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the pin where the fault occurs. References a connector pin defined under the Component ancestor.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="AutomaticGeneration">
		<xs:annotation>
			<xs:documentation>Shall define the Automatic Test Program Generator (ATPG) tools that may be used to generate the test program or parts of the test program. Includes UUT simulators, fault simulators, test pattern generators, translators, post-processors, etc.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Tools">
				<xs:annotation>
					<xs:documentation>Shall contain the list of ATPG tools.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Tool" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one ATPG tool.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="c:SoftwareInstance">
										<xs:sequence>
											<xs:element name="DataFormat" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Shall describe the format of data processed by the ATPG tool (e.g., IEEE Std 1445 DTIF).</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Free-form description of the format.</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="ComplianceDocument" type="c:Document" minOccurs="0" maxOccurs="unbounded">
															<xs:annotation>
																<xs:documentation> References a compliance document applicable to the format (for example: IEEE Std 1445 DTIF).</xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
													<xs:attribute name="name" type="c:NonBlankString">
														<xs:annotation>
															<xs:documentation>Name of the format.</xs:documentation>
														</xs:annotation>
													</xs:attribute>
												</xs:complexType>
											</xs:element>
											<xs:element name="Extension" type="c:Extension" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="ID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Unique identifier, enables referencing the ATPG tool.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="type" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Tool type (e.g., pattern generator)</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="name" type="c:NonBlankString">
											<xs:annotation>
												<xs:documentation>Optional tool name.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>User-defined ATPG data.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ActionType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type for test actions. The following derived types are defined in the schema: Test and SessionAction. Note that this is an abstract type, used as base type for other type definitions. Where this type is assigned in the schema, elements with derived types shall be provided. The 'xsi:type' attribute shall be used to indicate the type of these elements.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Free-form description for the action.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Parameters" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the parameters of the action and shall specify their values. Refer to Annex B for examples on describing parameters. Refer to B.2.15 for usage information regarding parameters.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Parameter" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one parameter of the action and shall specify its value. Parameters shall be used to represent values that determine the behavior of the action. This includes, for example: the characteristics of stimulus signals, measurement conditions, UUT pins where signals are applied or measured, the limits of parametric sweeps, the indices of UUT channels to be tested, string commands to be sent to the UUT, identification of firmware to be loaded in the UUT, etc. Parameters shall not be used to represent the limits of acceptable UUT operation, as those limits are described using TestResult descendants of complex type Test, which is derived from ActionType.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Free-form description of the parameter.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:choice>
										<xs:element name="Value" type="c:Value">
											<xs:annotation>
												<xs:documentation>Shall specify the value of the parameter. The attributes of this element shall specify the unit (when applicable) and may specify a qualifier. Resolution, ErrorLimit, Range and Confidence information can be provided under DatumQuality descendants. The type ConnectionDatum shall be assigned to Datum descendants of this element to specify a connection as the parameter value. The type ValueFromTestGroupParameter shall be assigned to Datum descendants of this element to indicate a parameter value that originates from a Parameter of the containing Test Group. The type ValueFromActionResults shall be assigned to Datum descendants of this element to indicate a parameter value that originates from one or more Test Results of Tests or Session Data of Session Actions from the same Test Group.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Reference" type="c:Document">
											<xs:annotation>
												<xs:documentation>When present, shall indicate that the value will be retrieved at run-time from an external document, instead of being encoded in the test program. This element shall reference the external document.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:choice>
									<xs:element name="ValueToParameter" minOccurs="0">
										<xs:annotation>
											<xs:documentation>When present, shall indicate that before action execution the value of the current parameter shall be assigned to a parameter of the called test group. The element can be present only when the current parameter belongs to an action whose behavior is "TestGroupCall". The data type, unit and qualifier of the referenced test group parameter shall be identical to those of the current parameter. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="testGroupParameterID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the test group parameter.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="Extension" type="c:Extension" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="ID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Unique identifier, enables referencing the parameter.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="name" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Name of the parameter.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="documentRequirementID" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>Reference to a requirement ID from an external requirements document, which in turn shall be referenced by a Document element under Documentation/Requirements. Note that the format and location of requirement IDs in the external document are not enforced by this standard and can be application-specific.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="parameterNamesUnique2">
					<xs:selector xpath="./td:Parameter"/>
					<xs:field xpath="@name"/>
				</xs:unique>
			</xs:element>
			<xs:element name="Behavior">
				<xs:annotation>
					<xs:documentation>Shall describe the behavior of the action.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="Description" type="c:NonBlankString">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that behavior is specified using free-form text. The element shall contain the descriptive text. Refer B.2 for an example that contains free-form description of test behavior.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Operations" type="td:Operations">
							<xs:annotation>
								<xs:documentation>The presence of this element indicates that behavior is specified as a sequence of predefined operations. The operation described by the child elements shall be executed sequentially, in the order in which they appear in the instance document. Refer to B.4 for an example where test behavior is described through operations.</xs:documentation>
							</xs:annotation>
							<xs:unique name="operationIdUnique">
								<xs:selector xpath=".//td:Operations/td:Operation"/>
								<xs:field xpath="@ID"/>
							</xs:unique>
						</xs:element>
						<xs:element name="IeeeStd1641" type="td:IeeeStd1641">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that behavior is specified as a test definition conformant to IEEE Std 1641. Refer to B.3 for an example where test behavior is described through IEEE Std. 1641 signals. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
							</xs:annotation>
							<xs:unique name="signalNameKey">
								<xs:selector xpath=".//*"/>
								<xs:field xpath="@name"/>
							</xs:unique>
							<xs:keyref name="signalNameRef" refer="td:signalNameKey">
								<xs:selector xpath=".//*"/>
								<xs:field xpath="@signalName"/>
							</xs:keyref>
						</xs:element>
						<xs:element name="TestGroupCall">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the action consists in the execution of a test group. The element shall identify the test group. If the test group has multiple entry points, execution shall start at the primary entry point. When the behavior specified for an action is “test group call”, the outcomes defined for that action shall be identical to those of the referenced test group. Note that the previous constraint is not enforced by this XML schema. Consumer applications should verify the constraint programmatically. Refer to B.4 for an example that contains test group calls.
</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="testGroupID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the test group that is executed.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="AutomaticGeneration">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the part of the test program that corresponds to the current action will be generated automatically by an ATPG tool. The child elements shall identify the tool and the data files used for generation.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="DataFiles" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Shall contain the list of all data files processed or generated by the ATPG tool for the current test.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="DataFile" type="c:Document" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>Shall identify one data file.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="toolID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the element describing the ATPG tool that generates the test.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="Extension" type="c:Extension">
							<xs:annotation>
								<xs:documentation>Provided to permit schema extensibility. Through this element, test behavior may be specified using XML content that conforms to an external XML schema.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="LocalSignals" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall identify local signals, shared by multiple operations specified for the current action. Local signals are referenced from operations. Refer to B.4.2 for usage information regarding local signals and to B.4 for an example.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="LocalSignal" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describes one local signal, which may be a source signal, a measurement, or a connection.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:choice>
									<xs:element name="Source">
										<xs:annotation>
											<xs:documentation>Shall describe a local source signal. Can be referenced from operations with type OperationSetup, OperationChange, OperationConnect, OperationChange, OperationDisconnect, and OperationReset located in the current action.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="ID" type="c:NonBlankString">
												<xs:annotation>
													<xs:documentation>Unique identifier, enables referencing the local source signal.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="Sensor">
										<xs:annotation>
											<xs:documentation>Shall describe a local sensor signal. Can be referenced from operations with type OperationSetup, OperationChange, OperationConnect, OperationRead, OperationDisconnect, and OperationReset located in the current action.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="ID" type="c:NonBlankString">
												<xs:annotation>
													<xs:documentation>Unique identifier, enables referencing the local sensor signal.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="Monitor">
										<xs:annotation>
											<xs:documentation>Shall describe a local monitor signal. Can be referenced from operations with type OperationSetup, OperationChange, OperationConnect, OperationEnable, OperationDisable, OperationDisconnect, and OperationReset located in the current action. Can also be referenced from Synchronization child elements of any Operation element located in the current action.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="ID" type="c:NonBlankString">
												<xs:annotation>
													<xs:documentation>Unique identifier, enables referencing the local monitor signal.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:choice>
								<xs:attribute name="name" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>Name of the local signal. May be used for documentation purposes.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Conditions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall specify the preconditions and postconditions for the action. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PreConditions" type="td:PreConditions" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describes all preconditions for the  action or test group. The specification of preconditions aims to ensure that actions and test groups are executed only if the proper conditions exist. For example: power is applied to the UUT, the appropriate firmware is loaded in the UUT, the UUT temperature is within specified limits, etc. </xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="PostConditions" type="td:PostConditions" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe all postconditions for the action or test group. Preconditions can be fulfilled by executing actions or test groups with the appropriate postconditions. For example a session action can apply power, download firmware, or change the temperature of a thermal chamber; a test can verify the signature of the UUT, etc. Note that postconditions can be specified for both actions and action outcomes. Postconditions specified for actions become fulfilled after action execution, regardless of the outcome produced by that action.  Postconditions specified for action outcomes become fulfilled after action execution only if that specific outcome was produced by the action. If postconditions are specified at both levels, postconditions associated with action outcomes override those associated with the action.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the action.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Name of the action</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="classified" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Indicates if the action is classified.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="securityClassification" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>User-defined security classification for the action</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="customType" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Custom action type, used to indicate actions that belong to user-defined categories. The semantics attached to categories are user-specific. For example, actions from the same category may be implemented as a single function or procedure. When this attribute is used to provide a guideline for implementation, implementers may choose to follow or ignore the guideline.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cost" type="xs:double">
			<xs:annotation>
				<xs:documentation>Cost of action execution, representing the duration of execution, the financial cost associated with execution, or a value calculated by an objective function. May be used to optimize the order of execution.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="documentRequirementID" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Reference to a requirement ID from an external requirements document, which in turn shall be referenced by a Document element under Documentation/Requirements. Note that the format and location of requirement IDs in the external document are not mandated by this standard and can be application-specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="ActionResultType">
		<xs:annotation>
			<xs:documentation>Abstract base type for describing one result of an action (i.e., test or session action). Note that this type is used as base type for other type definitions. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Free-form description of the result.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ValueDescription">
				<xs:annotation>
					<xs:documentation>Shall describe the data type and the unit of the result. Types derived from DatumDescriptionType shall be assigned to DatumDescription descendants. Resolution, ErrorLimit, Range and Confidence information can be provided under DatumQuality descendants.</xs:documentation>
				</xs:annotation>
				<xs:complexType mixed="false">
					<xs:complexContent mixed="false">
						<xs:extension base="td:ValueDescription"/>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="ValueToTestResult" minOccurs="0">
				<xs:annotation>
					<xs:documentation>When present, this element shall indicate that after action execution the value of the current action result is transferred to a test result of the containing test group. The data type, unit and qualifier of the referenced test result shall be identical to those of the current action result. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="testGroupTestResultID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the test result the value of the current action result is transferred to.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the result.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Name of the action result.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="documentRequirementID" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Reference to a requirement ID from an external requirements document, which in turn shall be referenced by a Document element under Documentation/Requirements. Note that the format and location of requirement IDs in the external document are not enforced by this standard and can be application-specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="ActionOutcomeType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type for describing the outcome of an action (test or session action) or test group. Note that this is an abstract type, used as base type for other type definitions. Where this type is assigned in the schema, elements with derived types shall be provided. The 'xsi:type' attribute shall be used to indicate the type of these elements.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Free-form description of the outcome.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PostConditions" type="td:PostConditions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe all postconditions for the action or test group, or for an individual outcome of that test or test group. Postconditions defined in a child element of Test/Conditions or SessionAction/Condition shall apply to all outcomes of that test or session action. Postconditions defined in a child element of Outcome shall apply only for that particular outcome, overriding the postconditions defined in a child element of Test/Conditions or SessionAction/Condition. Preconditions can be fulfilled by executing actions or test groups with the appropriate postconditions. For example a session action can apply power, download firmware, or change the temperature of a thermal chamber; a test can verify the signature of the UUT, etc. Note that postconditions can be specified for both actions (i.e., tests or session outcomes) and action outcomes. Postconditions specified for actions become fulfilled after action execution, regardless of the outcome produced by that action.  Postconditions specified for action outcomes become fulfilled after action execution only if that specific outcome was produced by the action. If postconditions are specified at both levels, postconditions associated with action outcomes override those associated with the action.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the action outcome.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="qualifier" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Outcome qualifier (e.g., High, Low). When used, shall contain an adjective providing additional descriptive data for the ‘value’ attribute defined in derived types. When ‘value’ is “Aborted”, ‘qualifier’ shall provide essential descriptive or explanatory information regarding the reason for the action or test group not completing normally. Refer to B.2.12 for an example using qualifiers.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="Test">
		<xs:annotation>
			<xs:documentation>Shall describe one test defined in the instance document. See B.2 for examples that contain the description of tests. See B.2.12 for usage information regarding tests.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="td:ActionType">
				<xs:sequence>
					<xs:element name="Outcomes">
						<xs:annotation>
							<xs:documentation>Shall describe the possible outcomes of the current test. The value-qualifier combinations shall be unique for all the outcomes of a test. Note that this constraint is not enforced by the schema. Consumers should verify uniqueness programmatically.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Outcome" type="td:Outcome" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one outcome of the test.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="TestResults" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe the test results of the current test.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="TestResult" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one test result of the current test. Test results serve various purposes, for example: used to determine the test's outcome through comparison with limits, passed to a different test as a parameter, recorded in a test results database for subsequent analysis, etc. Instance documents shall contain one TestResult element for each result produced by the test. For results that are used to determine the test outcome, the TestResult element shall also include the limits or expected value the corresponding result is compared against.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:complexContent>
											<xs:extension base="td:ActionResultType">
												<xs:sequence>
													<xs:element name="Transform" type="c:NonBlankString" minOccurs="0">
														<xs:annotation>
															<xs:documentation>When applicable, shall describe through free-form text the transformation used to convert instrument data into the test result.</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="TestLimits" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Shall specify the limits the current test result is compared against. The result of the comparison shall determine the outcome of the test, i.e., the test passes if the result of the comparison is “true”, and fails if the result is “false”. If a test has multiple test results that contain test limits, multiple comparisons shall be performed (one for each test result). The results of these comparisons shall be combined through the logical operator “AND”, unless specified otherwise in the descendants of the Behavior child element of Test.</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Limit" type="c:Limit" maxOccurs="unbounded">
																	<xs:annotation>
																		<xs:documentation>Shall specify one limit. The type ValueFromTestGroupParameter shall be assigned to a Datum descendant to indicate an  expected value, limit or mask that originates from a parameter of the containing test group. The type ValueFromActionResults shall be assigned to a Datum descendant to indicate an  expected value, limit or mask that comes from one or more test results of tests, or session data of session actions from the same test group. </xs:documentation>
																	</xs:annotation>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:extension>
										</xs:complexContent>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="testResultNamesUnique2">
							<xs:selector xpath="./td:TestResult"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="type" type="td:TestType">
					<xs:annotation>
						<xs:documentation>Test type. Shall be one of: UutIdentification, PowerStimuliShort, SafeToTurnOn, Performance, Diagnostic.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="typeQualifier" type="c:NonBlankString">
					<xs:annotation>
						<xs:documentation>User-defined information regarding the test type.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SessionAction">
		<xs:annotation>
			<xs:documentation>Shall describe one session action defined in the instance document. Session actions describe operations performed on the UUU for purposes other than testing (e.g., loading firmware). to B.2.11 for usage information regarding session actions.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="td:ActionType">
				<xs:sequence>
					<xs:element name="Outcomes">
						<xs:annotation>
							<xs:documentation>Shall describe the possible outcomes of the current session action. The value-qualifier combinations shall be unique for all the outcomes of a session action. Note that this constraint is not enforced by the schema. Consumers should verify uniqueness programmatically.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Outcome" type="td:SessionOutcome" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one outcome of the session action.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="SessionData" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe the data produced by the session action (e.g., measurement results, success or error codes, UUT status information).</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="SessionDatum" type="td:ActionResultType" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one data item produced by the session action.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Outcome">
		<xs:annotation>
			<xs:documentation>Shall describe an outcome of a test or test group. Extends base type ActionOutcomeType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="td:ActionOutcomeType">
				<xs:attribute name="value" type="td:OutcomeValue" use="required">
					<xs:annotation>
						<xs:documentation>Outcome value. Shall be one of: Passed, Failed, Aborted.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SessionOutcome">
		<xs:annotation>
			<xs:documentation>Shall describe an outcome of a session action. Extends base type ActionOutcomeType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="td:ActionOutcomeType">
				<xs:attribute name="value" use="required">
					<xs:annotation>
						<xs:documentation>Outcome value. Shall be one of: Done, Aborted.</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="Done"/>
							<xs:enumeration value="Aborted"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Condition">
		<xs:annotation>
			<xs:documentation>Shall describe a precondition or postcondition.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="StateVariableValue">
				<xs:annotation>
					<xs:documentation>Shall describe the precondition or postcondition in terms of state variable values.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="stateVariableValueID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the state variable value.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="Other" type="c:NonBlankString">
				<xs:annotation>
					<xs:documentation>Shall describe the precondition or postcondition through free-form text.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
		<xs:attribute name="name" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Name of the precondition or postcondition.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="Conditions">
		<xs:annotation>
			<xs:documentation>Shall describe preconditions and postconditions for an action (test or session action) or a test group. Refer to B.3 for an example where conditions are used. Refer to B.3.2 for usage information regarding conditions.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PreConditions" type="td:PreConditions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describes all preconditions for the  action or test group. The specification of preconditions aims to ensure that actions and test groups are executed only if the proper conditions exist. For example: power is applied to the UUT, the appropriate firmware is loaded in the UUT, the UUT temperature is within specified limits, etc. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PostConditions" type="td:PostConditions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe all postconditions for the action or test group. Preconditions can be fulfilled by executing actions or test groups with the appropriate postconditions. For example a session action can apply power, download firmware, or change the temperature of a thermal chamber; a test can verify the signature of the UUT, etc.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PreConditions">
		<xs:annotation>
			<xs:documentation>Shall describe all preconditions for an action or test group. The specification of preconditions aims to ensure that actions and test groups are executed only if the proper conditions exist. For example: power is applied to the UUT, the appropriate firmware is loaded in the UUT, the UUT temperature is within specified limits, etc. Note that this is a recursive definition, allowing the specification of arbitrarily complex composite preconditions. </xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="PreCondition">
				<xs:annotation>
					<xs:documentation>Shall describe one elementary precondition.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="td:Condition">
							<xs:attribute name="operatorNot" type="xs:boolean">
								<xs:annotation>
									<xs:documentation>The presence of this element shall indicate that the logical operator NOT is applied to the elementary precondition.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:sequence>
				<xs:element name="Composition">
					<xs:annotation>
						<xs:documentation>Allows for specification of composite preconditions that consist of elementary preconditions connected through logical operators (e.g., Power is on AND (UUT model is AAA OR UUT model is BBB)). </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="PreConditions" type="td:PreConditions" minOccurs="2" maxOccurs="2">
								<xs:annotation>
									<xs:documentation>Preconditions to be composed. These can be elementary preconditions or composite preconditions.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="operator" type="c:LogicalOperator" use="required">
							<xs:annotation>
								<xs:documentation>Logical operator that connects the preconditions specified through child elements of the current element.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="PostConditions">
		<xs:annotation>
			<xs:documentation>Shall describe all postconditions for an action or test group, or for a particular outcome of that action or test group. Preconditions can be fulfilled by executing actions or test groups with the appropriate postconditions. For example a session action can apply power, download firmware, or change the temperature of a thermal chamber; a test can verify the signature of the UUT, etc.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PostCondition" type="td:Condition" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes one postcondition.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TestGroupType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type, shall describe a group of actions without specifying an order of execution. Contains information common to all test group types. Derived types define a specific order of execution. Note that this is an abstract type, used as base type for other type definitions. Where this type is assigned in the schema, elements with derived types shall be provided. The 'xsi:type' attribute shall be used to indicate the type of these elements. Note that the grouping of actions in test groups does not impose a constraint for the modularity and structure of generated test programs. For example, the actions that are part of a test group may be implemented in the same code module or subroutine, or in separate code modules or subroutines. Refer to B.2.22 for usage information regarding test groups.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Free-form description of the test group.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Outcomes">
				<xs:annotation>
					<xs:documentation>Shall describe the possible outcomes of the test group. When applicable, shall reference the UUT faults or failures identified by these outcomes. The value-qualifier combinations for the outcomes of a test group shall be unique. Note that this constraint is not enforced by the schema. Consumers should verify uniqueness programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Outcome" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one outcome.</xs:documentation>
							</xs:annotation>
							<xs:complexType mixed="false">
								<xs:complexContent mixed="false">
									<xs:extension base="td:Outcome">
										<xs:sequence>
											<xs:element name="DetectionIsolation" type="td:DetectionIsolation" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Shall identify the faults and failures detected or isolated when the parent outcome is obtained through the execution of the test group. Failure and fault data referenced by this element shall be defined under the FailureFaultData child of the root element. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ParameterDescriptions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the parameters of the test group, without specifying the actual values of these parameters.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ParameterDescription" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one parameter.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ValueDescription" type="td:ValueDescription">
										<xs:annotation>
											<xs:documentation>Describes the values supported by the parameter. Typically specifies the data type and the unit. Types derived from DatumDescriptionType shall be assigned to DatumDescription descendants. The type ConnectionDatumDescription shall be assigned to the DatumDescription child element to indicate that the parameter contains connection data.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Extension" type="c:Extension" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="ID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Unique identifier, enables referencing the parameter description.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="name" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Name of the parameter.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="parameterDescriptionNamesUnique">
					<xs:selector xpath="./td:ParameterDescription"/>
					<xs:field xpath="@name"/>
				</xs:unique>
				<xs:unique name="parameterDescriptionIDsUnique">
					<xs:selector xpath="./td:ParameterDescription"/>
					<xs:field xpath="@ID"/>
				</xs:unique>
			</xs:element>
			<xs:element name="TestResultDescriptions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the results produced by the test group.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="TestResultDescription" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describe one result produced by the test group. The child element ValueToTestResult of type ActionResultType, assigned to descendants of Test or SessionAction elements under the current test group, shall be used to indicate that the value of the test result originates from test results of tests, or from session data of session actions that belong to the current test group.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ValueDescription" type="td:ValueDescription">
										<xs:annotation>
											<xs:documentation>Shall describe the values supported by the test result. Typically specifies the data type and the unit. Types derived from DatumDescriptionType shall be assigned to DatumDescription descendants.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="Extension" type="c:Extension" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="ID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Unique identifier, enables referencing the test result.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
								<xs:attribute name="name" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>Name of the test result.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="testResultDescriptionNamesUnique">
					<xs:selector xpath="./td:TestResultDescription"/>
					<xs:field xpath="@name"/>
				</xs:unique>
				<xs:unique name="testResultDescriptionIDsUnique">
					<xs:selector xpath="./td:TestResultDescription"/>
					<xs:field xpath="@ID"/>
				</xs:unique>
			</xs:element>
			<xs:element name="Conditions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall specify the preconditions and postconditions for the action. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PreConditions" type="td:PreConditions" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describes all preconditions for the  action or test group. The specification of preconditions aims to ensure that actions and test groups are executed only if the proper conditions exist. For example: power is applied to the UUT, the appropriate firmware is loaded in the UUT, the UUT temperature is within specified limits, etc. </xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="PostConditions" type="td:PostConditions" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe all postconditions for the action or test group. Preconditions can be fulfilled by executing actions or test groups with the appropriate postconditions. For example a session action can apply power, download firmware, or change the temperature of a thermal chamber; a test can verify the signature of the UUT, etc.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Initialization" type="td:Initialization" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the initialization operations for the test group. The implementation of the test program will ensure that these operations are performed before the first test from the test group is executed.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Termination" type="td:Termination" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall describe the termination operations for the test group. The implementation of the test program will ensure that these operations are performed after the last test from the test group is executed.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the test group.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Name of the test group.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="classified" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Indicates if the test group is classified.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="securityClassification" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>User-defined security classification for the test group.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="td:TestType">
			<xs:annotation>
				<xs:documentation>Test group type. Shall be one of: UutIdentification, PowerStimuliShort, SafeToTurnOn, Performance, Diagnostic.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="typeQualifier" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>User-defined information regarding the test group type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cost" type="xs:double">
			<xs:annotation>
				<xs:documentation>Cost of test group execution, representing the duration of test execution, the financial cost associated with execution, or a value calculated by an objective function. May be used to optimize the order of test execution.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="documentRequirementID" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Reference to a requirement ID from an external requirements document, which in turn shall be referenced by a Document element under Documentation/Requirements. Note that the format and location of requirement IDs in the external document are not enforced by this standard and can be application-specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="TestGroupSequence" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a test group where actions are executed sequentially. The order of execution depends on the outcomes returned by the tests. Each step in the sequence represents of the execution of an action (test or session action) or a test group. The next step to be executed is specified in the instance document, for each possible outcome of the executed item, through NextStep elements. This mode of representation for test sequencing is commonly known as a “fault tree”. Refer to Annex B for examples. Refer to B.2.23 for usage information regarding test sequences. </xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:TestGroupType">
				<xs:sequence>
					<xs:element name="Steps">
						<xs:annotation>
							<xs:documentation>Shall describe all the steps of the current sequence. Each step represents the execution of a test or test group. The order of Step elements in the XML instance document is not relevant for the order of execution. The order of execution is determined exclusively by the contents of NextStep descendants.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Step" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one step.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Free-form description of the step.</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:choice>
												<xs:element name="ActionReference">
													<xs:annotation>
														<xs:documentation>The presence of this element shall indicate that the step represents the execution of an action (i.e., test or session action).</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:attribute name="actionID" type="c:NonBlankString" use="required">
															<xs:annotation>
																<xs:documentation>ID of the action to be executed for the current step.</xs:documentation>
															</xs:annotation>
														</xs:attribute>
													</xs:complexType>
												</xs:element>
												<xs:element name="TestGroupReference">
													<xs:annotation>
														<xs:documentation>The presence of this element shall indicate that the step represents the execution of a test group. Refer to B.3.1 for additional information regarding this use case for test groups. If the test group has parameters, their nominal values shall be used. To use a different value, use an ActionRef element under Step, referencing an Action of type “Test” whose Behavior references the target TestGroup; assign the desired Parameters to the Action.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:attribute name="testGroupID" type="c:NonBlankString" use="required">
															<xs:annotation>
																<xs:documentation>ID of the test group to be executed for the current step.</xs:documentation>
															</xs:annotation>
														</xs:attribute>
													</xs:complexType>
												</xs:element>
											</xs:choice>
											<xs:element name="Results">
												<xs:annotation>
													<xs:documentation>Shall describe the course of action to be taken when specific results are obtained for the current step (i.e., specific outcomes are returned by the action or test group referenced by the step). This course of action may be: execute another test, adjust components, finish sequence execution and identify components to replace, etc.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Result" type="td:Result" maxOccurs="unbounded">
															<xs:annotation>
																<xs:documentation>Shall describe the course of action to be taken for one result of the current step. One Result element shall exist for each action or test group referenced by the current step. Note that this constraint is not enforced by the XML schema. Clients should verify the constraint programmatically.
</xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="ID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Unique identifier, enables the referencing of the step.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="name" type="c:NonBlankString">
											<xs:annotation>
												<xs:documentation>Optional step name.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="EntryPoints">
						<xs:annotation>
							<xs:documentation>Shall identify the entry points of the current sequence. Each entry point references a step that can be executed as the first step in the sequence.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="EntryPoint" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one entry point.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="ID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Unique identifier, enables the referencing of the entry point.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="stepID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>ID of the step designated as entry point.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
							<xs:attribute name="primaryEntryPointID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>Shall identify the primary entry point of the sequence. In the absence of an entry point selection (e.g., by the operator), this entry point will be used when the test program is executed.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
						<xs:key name="seqEntryPointKey">
							<xs:selector xpath="./td:EntryPoint"/>
							<xs:field xpath="@ID"/>
						</xs:key>
						<xs:keyref name="seqEntryPointRef" refer="td:seqEntryPointKey">
							<xs:selector xpath="."/>
							<xs:field xpath="@primaryEntryPointID"/>
						</xs:keyref>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TestGroupParallel" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a test group where actions can be executed in parallel (i.e., simultaneously), depending on resource availability. The execution of the test group finishes after the all actions finish. The outcome of the test group shall be determined based on the outcomes produced by the individual actions. If at least one action produced an "Aborted" outcome, the outcome of the test group shall be "Aborted"; otherwise, if at least one action produced a "Failed" outcome, the outcome of the test group shall be "Failed"; otherwise, the outcome of the test group shall be "Passed". </xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:TestGroupType">
				<xs:sequence>
					<xs:element name="ActionReferences">
						<xs:annotation>
							<xs:documentation>Shall identify the actions to be executed in parallel. </xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ActionReference" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall reference one action. </xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="actionID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>ID of the referenced action. </xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TestGroupSerial" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a test group where actions are executed sequentially. The order of execution is fixed and determine by the order of ActionReference descendants. The outcome of the test group shall be determined based on the outcomes produced by the individual actions. If at least one action produced an "Aborted" outcome, the outcome of the test group shall be "Aborted"; otherwise, if at least one action produced a "Failed" outcome, the outcome of the test group shall be "Failed"; otherwise, the outcome of the test group shall be "Passed". </xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:TestGroupType">
				<xs:sequence>
					<xs:element name="ActionReferences">
						<xs:annotation>
							<xs:documentation>Shall identify the actions to be executed sequentially.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ActionReference" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall reference one action. </xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="actionID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>ID of the referenced action. </xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TestGroupDiagnosticModel" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a test group where the order of execution is determined by a diagnostic reasoner in accordance to a diagnostic model (e.g., a diagnostic model conformant with IEEE Std. 1232). Shall reference an external document that contains the diagnostic model.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:TestGroupType">
				<xs:sequence>
					<xs:element name="ActionReferences">
						<xs:annotation>
							<xs:documentation>Shall identify the actions to be executed in the order determined by the diagnostic reasoner.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ActionReference" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall reference one action. </xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="actionID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>ID of the referenced action. </xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="DiagnosticModel" type="c:Document">
						<xs:annotation>
							<xs:documentation>Shall reference the document that contains the diagnostic model. This may be an XML instance document or another type of document. </xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TestGroupUnspecifiedOrder" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a test group where execution is serial and can be in any order.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:TestGroupType">
				<xs:sequence>
					<xs:element name="ActionReferences">
						<xs:annotation>
							<xs:documentation>Shall identify the actions to be executed in any order.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ActionReference" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall reference one action. </xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="actionID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>ID of the referenced action. </xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Initialization">
		<xs:annotation>
			<xs:documentation>Shall describe the initialization conditions for a test group.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="DetailedDescription">
				<xs:annotation>
					<xs:documentation>The presence of this element shall indicate that initialization is described through free-form text. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PowerSequence" type="c:NonBlankString" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe through free-form text the power sequence required to initialize the UUT.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Warmup" type="c:NonBlankString" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe through free-form text the warmup required for the UUT.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Conditioning" type="c:NonBlankString" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe through free-form text the conditioning required for the UUT.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="AlignmentAndAdjustment" type="c:NonBlankString" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe through free-form text the alignment and adjustment operations required to initialize the UUT.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="DetailedInformation" type="c:NonBlankString" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe through free-form text other operations required before the execution of the test group starts.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Extension" type="c:Extension" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="InitializationAction">
				<xs:annotation>
					<xs:documentation>The presence of this element shall indicate that initialization is performed by executing a single action, which may be a test or a session action. The element shall references that action. An "Aborted" or "Failed" outcome returned by the referenced action shall mean that initialization has failed. When initialization fails, the execution of the current test group shall finish</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="actionID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the referenced action.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="InitializationTestGroup">
				<xs:annotation>
					<xs:documentation>The presence of this element shall indicate that initialization is performed by executing a test group. The element sreferences that test group. A "Failed" or "Aborted" outcome returned by the referenced test group shall mean that initialization has failed. When initialization fails, the execution of the current test group shall finish.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="testGroupID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the referenced test group.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="Termination">
		<xs:annotation>
			<xs:documentation>Shall describe the termination conditions for a test group.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="DetailedDescription">
				<xs:annotation>
					<xs:documentation>The presence of this element shall indicate that termination is described through free-form text.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:annotation>
						<xs:documentation>The presence of this element indicates that termination is described through free-form text.</xs:documentation>
					</xs:annotation>
					<xs:sequence>
						<xs:element name="DetailedInformation" type="c:NonBlankString">
							<xs:annotation>
								<xs:documentation>Shall describe through free-form text the operations required after the execution of the test group is finished.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="Extension" type="c:Extension" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="TerminationAction">
				<xs:annotation>
					<xs:documentation>The presence of this element shall indicate that termination is performed by executing a single action, which may be a test or a session action. The element shall reference that action. An "Aborted" or "Failed" outcome returned by the referenced action shall mean that initialization has failed. When termination of a test group fails, the execution of the test program (e.g., by executing other test groups) shall finish.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="actionID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the referenced action.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="TerminationTestGroup">
				<xs:annotation>
					<xs:documentation>The presence of this element shall indicate that termination is performed by executing a test group. The element shall reference that test group. A "Failed" or "Aborted" outcome returned by the referenced test group shall mean that termination has failed. When termination of a test group fails, the execution of the test program (e.g., by executing other test groups) shall finish.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="testGroupID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the referenced test group.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="Result">
		<xs:annotation>
			<xs:documentation>Shall describe the course of action to be taken for one result of a step in a test sequence. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice>
				<xs:element name="ActionOutcomeReference">
					<xs:annotation>
						<xs:documentation>Shall identify the action outcome the current result corresponds to. This element shall be present if the ancestor Step element represents the execution of an action (test or session action).</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="actionOutcomeID" type="c:NonBlankString" use="required">
							<xs:annotation>
								<xs:documentation>ID of the referenced action outcome.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="TestGroupOutcomeReference">
					<xs:annotation>
						<xs:documentation>Shall identify the test group outcome the current result corresponds to. This element shall be present if the ancestor Step element represents the execution of a test group. </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="testGroupOutcomeID" type="c:NonBlankString" use="required">
							<xs:annotation>
								<xs:documentation>ID of the referenced test group outcome.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:choice>
				<xs:element name="NextStep">
					<xs:annotation>
						<xs:documentation>The presence of this element shall indicate the that another step will be executed when the current result is obtained.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="DetectionIsolation" type="td:DetectionIsolation" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Shall identify the faults and failures detected or isolated when the current Step Result is obtained. Failure and fault data referenced by this element shall be defined in the FailureFaultData child of the root element. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="stepID" type="c:NonBlankString" use="required">
							<xs:annotation>
								<xs:documentation>ID of the step to be executed.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="SequenceOutcome">
					<xs:annotation>
						<xs:documentation>The presence of this element shall indicate the that the execution of the sequence will finish when the current result is obtained. The element shall specify the sequence outcome to be returned. In turn, this outcome may indicate the failures or faults that were detected or isolated.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="sequenceOutcomeID" type="c:NonBlankString" use="required">
							<xs:annotation>
								<xs:documentation>ID of the sequence outcome to be returned.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="Adjust">
					<xs:annotation>
						<xs:documentation>The presence of this element shall indicate that one or more UUT components will be adjusted when the current result is obtained. The element shall specify the components to be adjusted.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Free-form description of the overall adjustment operation.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="AdjustComponents">
								<xs:annotation>
									<xs:documentation>Shall identify all the components to adjust.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="AdjustComponent" maxOccurs="unbounded">
											<xs:annotation>
												<xs:documentation>Shall identify one component to adjust.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Free-form description of the adjustment operation for the current component.</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="componentID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the component to adjust.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="AfterAdjust">
								<xs:annotation>
									<xs:documentation>Shall describe the course of action to be taken after the adjustment is performed.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:choice>
										<xs:element name="Finish">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate that sequence execution will finish. The element shall specify the sequence outcome to be returned. It is assumed that adjustment solves the problem and re-test is not necessary.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="sequenceOutcomeID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the sequence outcome to be returned.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="Repeat">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate that the last executed step will be repeated.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="NextStep">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate that a different step will be executed. The element shall identify the step to be executed.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="stepID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the step to be executed.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:choice>
								</xs:complexType>
							</xs:element>
							<xs:element name="OnAdjustFailure" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Shall describe the operations to be performed if adjustment is impossible (e.g., due to insufficient range).</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:choice>
										<xs:element name="Finish">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate that sequence execution will finish if adjustment is impossible. </xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="sequenceOutcomeID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the sequence outcome to be returned when execution is finished.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="NextStep">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate that a different step will be executed. The element shall identify the step to be executed.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="stepID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the step to be executed.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:choice>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="IeeeStd1641">
		<xs:annotation>
			<xs:documentation>Shall contain a test definition conformant to IEEE Std. 1641, describing the behavior of a test or session action. Shall specify the relationships between the test definition and other elements of the current instance document such as global signals, parameters and test results.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:sequence minOccurs="0">
				<xs:any namespace="STDBSC">
					<xs:annotation>
						<xs:documentation>Shall contain a test definition conforming to the STDBSC.xsd schema of IEEE Std. 1641. Note that this test definition can in turn reference TSF signal definitions defined in any TSF Library conformant with IEEE Std. 1641. With one exception described below, IEEE Std 1641 signals defined under this element shall be started (by calling their Run method) when the execution of the current action begins and shall be stopped (by calling the Stop method) when execution of the action finishes. Refer to C.2.2.2 of IEEE Std 1641 for detailed information on the Run and Stop methods. There shall be one exceptions to the above rule: IEEE Std 1641 signals identified as global signals shall not be stopped when execution of the current action finishes; instead, they shall be stopped when execution of the test program finishes, or when executing an action that contains a signal operation of type Stop, whichever comes first. See 4.4.61 for information on identifying global signals. See 4.4.101 for information on the Stop global signal operation. See B.3 for an example on using global signals. </xs:documentation>
					</xs:annotation>
				</xs:any>
				<xs:element name="InValues" type="td:IeeeStd1641InValues" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall describe the mapping of action parameters to IEEE Std. 1641 signal attributes. The signal attributes shall receive at run time, prior to action execution, the values of the mapped parameters. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="OutValues" type="td:IeeeStd1641OutValues" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall describe the mapping of IEEE Std. 1641 measured signal attributes to test results or session data. The test results or session data will receive at run time, after action execution, the values of the mapped signal attributes. </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="PortValues" type="td:IeeeStd1641PortValues" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Shall describe the mapping of IEEE Std. 1641 signal attributes representing Connection ports to UUT ports (i.e., ports of interface connectors, test points, or component pins). Whenever possible, the mapping of IEEE Std. 1641 ports to ports of UUT connectors should be described through the values of IEEE Std. 1641 signal attributes, using he "pseudo pin name" format connectorID-pinID. For example, the ports of a TwoWire Connection signal to be connected to pins 1 and 2 of connector J1 should be named "J1-1" and "J1-2". When the above solution is used, this element is not needed. In some situations the above solution cannot be applied: when IEEE Std. 1641 ports are mapped to test points or component pins, when preexisting IEEE Std. 1641 contents using a different port name format is integrated into an ATML Test Description instance document, etc. In these cases the mapping of IEEE Std. 1641 ports to UUT ports shall be described using this element.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Extension" type="c:Extension" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:element name="GlobalSignalOperations" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Describes operations performed on global IEEE Std. 1641 signals. Global signals are identified through GlobalSignal descendants of DetailedTestInformation.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="GlobalSignalOperation" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Describes one operation performed on a global IEEE Std. 1641 signal. </xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:choice>
									<xs:element name="Define">
										<xs:annotation>
											<xs:documentation>Used to identify a locally defined IEEE 1641 signal as a global signal. Note that, for conformance with IEEE Std 1641, the name of the referenced signal's Connection shall be included in the Out attribute of the std:Signal parent of that signal. See B.3 for an example.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="signalName" type="xs:NMTOKEN" use="required">
												<xs:annotation>
													<xs:documentation>Name of the IEEE Std 1641 signal identified as a global signal. This XML attribute shall contain the name of a signal defined under the IeeeStd1641 ancestor of the current element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="Change">
										<xs:annotation>
											<xs:documentation>This element describes a global signal operation of type Change. The global signal referenced by the parent of this element shall be changed (by calling its Change method) when the action that contains the element is executed. During the Change operation, signal attributes will be assigned the values described through the AttributeChange child elements. See C.2.2.2 of IEEE Std 1641 for detailed information on the Change method.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="AttributeChanges" type="td:IeeeStd1641AttributeChanges">
													<xs:annotation>
														<xs:documentation>Describes the change of one or more signal attributes during the Change global signal operation.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="Stop">
										<xs:annotation>
											<xs:documentation>This element specifies a global signal operation of type Stop. The global signal referenced by the parent of this element shall be stopped (by calling its Stop method) when the action that contains the element is executed. See C.2.2.2 of IEEE Std 1641 for detailed information on the Stop method.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:choice>
								<xs:attribute name="globalSignalID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the global signal on which the operation will be performed.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="IeeeStd1641InValues">
		<xs:annotation>
			<xs:documentation>Shall describe the mapping of action parameters and iterators to IEEE Std. 1641 signal attributes. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ParameterInValue" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall describe the mapping of one action parameter to an IEEE Std. 1641 signal attribute.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="parameterID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of action parameter.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalName" type="xs:NMTOKEN" use="required">
						<xs:annotation>
							<xs:documentation>Name of IEEE Std 1641 signal whose attribute is mapped. This XML attribute shall contain the name of an IEEE Std. 1641 signal defined under the IeeeStd1641 ancestor of the current element.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalAttribute" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>Name of mapped IEEE Std 1641 signal attribute. This XML attribute shall contain the name of one of the attributes of the signal referenced by XML attribute 'signalName' of the current element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="IteratorInValue" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall describes the mapping of one iterator to an IEEE Std. 1641 signal attribute. Shall be used only in conjuction with OperationRepeat operations.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="iteratorID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the iterator.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalName" type="xs:NMTOKEN" use="required">
						<xs:annotation>
							<xs:documentation>Name of IEEE Std 1641 signal whose attribute is mapped. This XML attribute shall contain the name of an IEEE Std. 1641 signal defined under the IeeeStd1641 ancestor of the current element.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalAttribute" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>Name of mapped IEEE Std 1641 signal attribute. This XML attribute shall contain the name of one of the attributes of the signal referenced by XML attribute 'signalName' of the current element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="IeeeStd1641OutValues">
		<xs:annotation>
			<xs:documentation>Shall describe the mapping of IEEE Std. 1641 measured signal attributes to test results and session data. </xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="TestResultOutValue" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall dscribe the mapping of one IEEE Std. 1641 measured signal attribute to a test result. Shall be used only in conjunction with actions of type Test.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="testResultID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of test result.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalName" type="xs:NMTOKEN" use="required">
						<xs:annotation>
							<xs:documentation>Name of IEEE Std 1641 signal whose attribute is mapped. This XML attribute shall contain the name of an IEEE Std. 1641 signal defined under the IeeeStd1641 ancestor of the current element.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalAttribute" type="c:NonBlankString" default="measurement">
						<xs:annotation>
							<xs:documentation>Name of mapped IEEE Std 1641 signal attribute. If this XML attribute is absent, the "measurement" signal attribute shall be mapped. When present, this XML attribute shall contain the name of one of the attributes of the signal referenced by XML attribute 'signalName' of the current element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="SessionDatumOutValue" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall describe the mapping of one IEEE Std. 1641 measured signal attribute to a session datum. Shall be used only in conjunction with actions of type SessionAction.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="testResultID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of test result.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalName" type="xs:NMTOKEN" use="required">
						<xs:annotation>
							<xs:documentation>Name of IEEE Std 1641 signal whose attribute is mapped. This XML attribute shall contain the name of an IEEE Std. 1641 signal defined under the IeeeStd1641 ancestor of the current element.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalAttribute" type="c:NonBlankString" default="measurement">
						<xs:annotation>
							<xs:documentation>Name of mapped IEEE Std 1641 signal attribute. If this XML attribute is absent, the "measurement" signal attribute shall be mapped. When present, this XML attribute shall contain the name of one of the attributes of the signal referenced by XML attribute 'signalName' of the current element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="IeeeStd1641PortValues">
		<xs:annotation>
			<xs:documentation>Shall describe the mapping of IEEE Std. 1641 signal attributes representing Connection ports to physical UUT ports. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PortValue" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall describe the mapping of an IEEE Std. 1641 signal attribute representing a Connection port to one or more UUT ports.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Network" type="hc:Network">
							<xs:annotation>
								<xs:documentation>Identifies the UUT port or ports mapped to the IEEE Std. 1641 signal attribute identified by the XML attributes of the parent element. Each Node children shall reference a Port of an interface connector, a test point, or a component.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="signalName" type="xs:NMTOKEN" use="required">
						<xs:annotation>
							<xs:documentation>Name of IEEE Std 1641 signal whose attribute is mapped. This XML attribute shall contain the name of an IEEE Std. 1641 signal defined under the IeeeStd1641 ancestor of the current element.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="signalAttribute" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>Name of mapped IEEE Std 1641 signal attribute. This XML attribute shall contain the name of one of the attributes of the signal referenced by XML attribute 'signalName' of the current element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="IeeeStd1641AttributeChanges">
		<xs:annotation>
			<xs:documentation>Shall describe the change of one or more IEEE Std 1461 signal attributes</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="AttributeChange" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall describe the change of one signal attribute .</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="Value" type="c:Value">
							<xs:annotation>
								<xs:documentation>Shall specify the value to be assigned to the signal attribute.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="ParameterInValue">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the value to be assigned to the signal attribute shall be obtained at run time from a parameter of the parent action. The element shall identify the action parameter.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="parameterID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the action parameter.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="IteratorInValue">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the value to be assigned to the signal attribute shall be obtained at run time from the iterator of the OperationRepeat operation that contains the parent operation of the current element. The element shall identify the iterator.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="iteratorID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the iterator.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:attribute name="attributeName" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>Name of the IEEE Std 1641 signal attribute to change. This XML attribute shall contain the name of one of the attributes of the signal changed by the current operation. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Operations">
		<xs:annotation>
			<xs:documentation>Shall describe a sequence of operations. The operations shall be executed in the order in which they appear in the sequence. Refer to B.4 for an example containing operations. Refer to B.4.2 for usage instruction regarding operations.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Operation" type="td:OperationType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Shall describe one operation.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OperationType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type for all operations. Note that this is an abstract type, used as base type for other type definitions. Where this type is assigned in the schema, elements with derived types shall be provided. The 'xsi:type' attribute shall be used to indicate the type of these elements.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Free-form description of the operation.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the operation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Operation name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="OperationSetup" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the creation and setup of a signal.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="Source">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate a source signal. Source signals are used to describe stimulus operations. This element shall contain information specific to the source signal.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:choice>
										<xs:element name="LocalSourceSignalReference">
											<xs:annotation>
												<xs:documentation>Shall identify the local source signal to setup.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="localSourceSignalID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the local source signal.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="GlobalSignalReference">
											<xs:annotation>
												<xs:documentation>Shall identify the global source signal to setup.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="globalSignalID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the global source signal.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:choice>
									<xs:any namespace="STDBSC">
										<xs:annotation>
											<xs:documentation>Shall contain a Signal definition conforming to the STDBSC.xsd schema of IEEE Std. 1641. Note that this signal definition can in turn reference TSF signal definitions defined in any TSF Library conformant with IEEE Std. 1641.  This shall be a valid stimulus definition, including Source, Conditioning, Event and Connection BSCs, as applicable. See B.4 for an example. </xs:documentation>
										</xs:annotation>
									</xs:any>
									<xs:element name="InValues" type="td:IeeeStd1641InValues" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Describes the mapping of action parameters to IEEE Std. 1641 signal attributes. The signal attributes shall receive at run time, prior to operation execution, the values of the mapped parameters. </xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
							<xs:unique name="signalNameKey2">
								<xs:selector xpath=".//*"/>
								<xs:field xpath="@name"/>
							</xs:unique>
							<xs:keyref name="signalNameRef2" refer="td:signalNameKey2">
								<xs:selector xpath=".//*"/>
								<xs:field xpath="@signalName"/>
							</xs:keyref>
						</xs:element>
						<xs:element name="Sensor">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate a sensor signal. Sensor signals are used to describe measurement operations. This element shall contain information specific to the sensor signal.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="LocalSensorSignalReference">
										<xs:annotation>
											<xs:documentation>Shall identify a local sensor signal to measure.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="localSensorSignalID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the local sensor signal.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:any namespace="STDBSC">
										<xs:annotation>
											<xs:documentation>Shall contain a signal definition conforming to the STDBSC.xsd schema of IEEE Std. 1641. Note that this signal definition can in turn reference TSF signal definitions defined in any TSF Library conformant with IEEE Std. 1641.  This shall be a valid measurement definition (intrinsic or generic), including Connection, Conditioning and Sensor BSCs, as applicable. The measurement definition shall contain exactly one measured signal attribute. See B.4 for an example. </xs:documentation>
										</xs:annotation>
									</xs:any>
									<xs:element name="InValues" type="td:IeeeStd1641InValues" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Shall describe the mapping of action parameters to IEEE Std. 1641 signal attributes. The signal attributes shall receive at run time, prior to operation execution, the values of the mapped parameters. </xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
							<xs:unique name="signalNameKey3">
								<xs:selector xpath=".//*"/>
								<xs:field xpath="@name"/>
							</xs:unique>
							<xs:keyref name="signalNameRef3" refer="td:signalNameKey3">
								<xs:selector xpath=".//*"/>
								<xs:field xpath="@signalName"/>
							</xs:keyref>
						</xs:element>
						<xs:element name="Monitor">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate a monitor signal. Monitor signals are used to generate events when a specific condition occurs. Events are typically used to synchronize the operation of other signals. This element shall contain information specific to the monitor signal.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="LocalMonitorSignalReference">
										<xs:annotation>
											<xs:documentation>Shall identify a local monitor signal.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the local monitor signal.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:choice>
										<xs:element name="SignalBased">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate a signal-based monitor signal. Signal-based monitor signals generate events when a specific change occurs in an attribute of a monitored signal.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:any namespace="STDBSC">
														<xs:annotation>
															<xs:documentation>Shall contain a signal definition conforming to the STDBSC.xsd schema of IEEE Std. 1641. Note that this signal definition can in turn reference TSF signal definitions defined in any TSF Library conformant with IEEE Std. 1641. This shall be a valid signal-based event definition.</xs:documentation>
														</xs:annotation>
													</xs:any>
													<xs:element name="InValues" type="td:IeeeStd1641InValues" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Shall describes the mapping of action parameters to IEEE Std. 1641 signal attributes. The signal attributes shall receive at run time, prior to operation execution, the values of the mapped parameters. </xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
											<xs:unique name="signalNameKey4">
												<xs:selector xpath=".//*"/>
												<xs:field xpath="@name"/>
											</xs:unique>
											<xs:keyref name="signalNameRef4" refer="td:signalNameKey4">
												<xs:selector xpath=".//*"/>
												<xs:field xpath="@signalName"/>
											</xs:keyref>
										</xs:element>
										<xs:element name="TimeBased">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate a time-based monitor signal. Time-based monitor signals generate events at specific time intervals.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Period" type="c:DatumType">
														<xs:annotation>
															<xs:documentation>Shall specify the period of event repetition. If a DatumType-derived type from Common is assigned to this element, it shall define a scalar numeric value with a unit of time. The type ValueFromActionParameter shall be assigned to this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to indicate that the current value of the iterator is used. </xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="InitialDelay" type="c:DatumType" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Shall specify the time of the initial event, measured from the moment the monitor signal is enabled. If the element is absent, the time of the initial event shall be zero (i.e., the event shall occur when the signal is enabled). If a DatumType-derived type from Common is assigned to this element, it shall define a scalar numeric value with a unit of time. The type ValueFromActionParameter shall be assigned to Datum descendants of this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to indicate that the current value of the iterator is used. </xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:choice>
														<xs:element name="Duration" type="c:DatumType" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the duration of the event generation interval, measured from the time of the first event. If a DatumType-derived type from Common is assigned to this element, it shall define a scalar numeric value with a unit of time. The type ValueFromActionParameter shall be assigned to this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to indicate that the current value of the iterator is used. </xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Repetition" type="c:DatumType" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Shall specify the number of events to be generated. If a DatumType-derived type from Common is assigned to this element, it shall define an integer numeric value greater than zero, with no unit. The type ValueFromActionParameter shall be assigned to this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to indicate that the current value of the iterator is used. </xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:choice>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="EventBased">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate an event-based monitor signal. Event-based monitor signals generate events based on the occurrence of other events. Specifically, the generated event shall be active from the moment a "from" event occurs to the moment a "to" event occurs.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="From">
														<xs:annotation>
															<xs:documentation>Shall identify the "from" event.</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
																<xs:annotation>
																	<xs:documentation>ID of the "from" event. Shall reference a local monitor signal. The monitor signal shall be set up by an operation of type OperationSetup defined in the current action and enabled by an operation of type OperationEnable defined in the current action. The operations that set up and enable the monitor signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
																</xs:annotation>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
													<xs:element name="To">
														<xs:annotation>
															<xs:documentation>Shall identify the "to" event.</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
																<xs:annotation>
																	<xs:documentation>ID of the "to" event. Shall reference a local monitor signal. The monitor signal shall be set up by an operation of type OperationSetup defined in the current action and enabled by an operation of type OperationEnable defined in the current action. The operations that set up and enable the monitor signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
																</xs:annotation>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Other">
											<xs:annotation>
												<xs:documentation>The presence of this element shall indicate a monitor signal that generates events based on a user-specified condition.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Condition" type="c:NonBlankString">
														<xs:annotation>
															<xs:documentation>Free-form description of the event condition.</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:choice>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:element name="Synchronization" type="td:SignalSynchronization" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify synchronization conditions for the setup operation. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationChange" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the changing of an existing signal.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="LocalSignalReference">
							<xs:annotation>
								<xs:documentation>Shall identify a local signal to change.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="localSignalID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the local signal. The local signal shall be set up by an operation of type OperationSetup defined in the current action. The operation that sets up the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="GlobalSignalReference">
							<xs:annotation>
								<xs:documentation>Shall identify a global signal to change. Shall be used only for source signals.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="globalSignalID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the global signal. The global signal shall be set up by an operation of type OperationSetup defined in a different action. The operation that sets up the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraint programmatically. Producers can ensure that the constraint is satisfied through proper sequencing of tests (for test groups of type TestGroupSequence), or through conditions (for other types of test groups). </xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:element name="AttributeChanges" type="td:IeeeStd1641AttributeChanges">
						<xs:annotation>
							<xs:documentation>Shall describe the change of one or more signal attributes through the OperationChange operation.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Synchronization" type="td:SignalSynchronization" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify synchronization conditions for the signal operation. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationReset" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the reset of an existing signal.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="LocalSignalReference">
							<xs:annotation>
								<xs:documentation>Shall identify a local signal to reset.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="localSignalID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the local signal. The local signal shall be set up by an operation of type OperationSetup defined in the current action. The operation that sets up the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="GlobalSignalReference">
							<xs:annotation>
								<xs:documentation>Shall identify a global signal to reset. Shall be used only for source signals.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="globalSignalID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the global signal. The global signal will be set up by an operation of type OperationSetup defined in a different action. The operation that sets up the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically. Producers can ensure that the constraint is satisfied through proper sequencing of tests (for test groups of type TestGroupSequence), or through conditions (for other types of test groups). </xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationResetAll" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the reset of all active signals.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationRead" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the measurement of an attribute of an existing sensor signal and the creation of a measurement entity that holds the value read from the measurement. Note that the referenced sensor signal will contain exactly one measured attribute.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="Measurement">
						<xs:annotation>
							<xs:documentation>Shall describe the measurement entity created by the operation. Attributes 'standardUnit' and 'nonStandardUnit' shall be alternative. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="ID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>Unique identifier, enables referencing the measurement operation.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
							<xs:attribute name="name" type="c:NonBlankString">
								<xs:annotation>
									<xs:documentation>Name of the measurement created by the operation. May be used for documentation purposes.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
							<xs:attributeGroup ref="c:UnitAttributes">
								<xs:annotation>
									<xs:documentation>Specifies a unit for the measured value.</xs:documentation>
								</xs:annotation>
							</xs:attributeGroup>
						</xs:complexType>
					</xs:element>
					<xs:element name="LocalSensorSignalReference">
						<xs:annotation>
							<xs:documentation>Shall identify the local sensor signal to measure.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="localSensorSignalID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>ID of the local sensor signal. The local signal shall be set up by an operation of type OperationSetup defined in the current action. The operation that sets up the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
					<xs:element name="OutValues" type="td:IeeeStd1641OutValues" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe the mapping of IEEE Std. 1641 signal attributes read through this operation to test results or session data. The test results or session data shall receive at run time, after operation execution, the values of the mapped signal attributes. </xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Samples" type="xs:positiveInteger" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify the number of samples to be read. The absence of the element shall indicate that one sample will be read.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Synchronization" type="td:SignalSynchronization" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify synchronization conditions for the signal operation. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationCompare" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the comparison of a measurement result with limits and shall specify the test outcomes to be returned for each comparison result. Operations of this type shall only appear under actions of type test, as their functionality is specific to tests. Note that this constraint is not enforced by the schema. Consumers should verify the constraint programmatically. </xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="MeasurementReference">
						<xs:annotation>
							<xs:documentation>Shall identify the measurement whose result is compared.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="measurementID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>ID of the measurement. Shall reference a measurement described in an operation of type OperationRead defined in the current test. The operation of type OperationRead shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
					<xs:element name="CompareLimits">
						<xs:annotation>
							<xs:documentation>Shall specify the limits the measurement result is compared against.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Limit" type="c:Limit" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall specify a limit, limit pair, or an expected value plus a comparison operator. The type ValueFromActionParameter shall be assigned to Datum descendants of this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to Datum descendants of this element to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to Datum descendants of this element to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to Datum descendants to indicate that the current value of the iterator is used. </xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Results">
						<xs:annotation>
							<xs:documentation>Shall identify the action outcomes to be returned for specific results of the comparison.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Result" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall identify the action outcome to be returned for one result of the comparison. One element shall be specified for each possible result of the comparison, as described in the following: "Equal" and "NotEqual" elements shall be specified when comparing with an expected value; "FailHigh" and "FailLow" elements shall be used when comparing with a single limit; "InTolerance", "FailHigh" and "FailLow" shall be specified when comparing with a limit pair. Note that the previous constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:attribute name="comparisonResult" type="td:ComparisonResult" use="required">
											<xs:annotation>
												<xs:documentation>Describes the comparison result.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="actionOutcomeID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Identifies action outcome to be returned for the specified comparison result.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationConnect" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the connection of an existing signal or a set of UUT pins and the creation of a connection entity.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="Signal">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the operation connects a signal to UUT pins.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:choice>
										<xs:element name="LocalSignalReference">
											<xs:annotation>
												<xs:documentation>Shall identify a local signal to connect.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="localSignalID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the local signal. The local signal shall be set up by an operation of type OperationSetup defined in the current action. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. The operation that sets up the signal can be executed before or after the current operation.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
										<xs:element name="GlobalSignalReference">
											<xs:annotation>
												<xs:documentation>Shall identify a global signal to connect. Applicable to source signals only.</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:attribute name="globalSignalID" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>ID of the global signal. The global signal shall be set up by an operation of type OperationSetup defined in a different action. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. The operation that sets up the signal can be executed before or after the current operation.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:choice>
									<xs:any namespace="STDBSC">
										<xs:annotation>
											<xs:documentation>Shall contain a signal definition conforming to the STDBSC.xsd schema of IEEE Std. 1641. Note that this signal definition can in turn reference TSF signal definitions defined in any TSF Library conformant with IEEE Std. 1641.  This shall be a valid connection definition, including Connection BSCs. See B.4 for an example. </xs:documentation>
										</xs:annotation>
									</xs:any>
									<xs:element name="PortValues" type="td:IeeeStd1641PortValues" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Shall describe the mapping of IEEE Std. 1641 signal attributes representing Connection ports to UUT Ports. Whenever possible, the mapping of IEEE Std. 1641 ports to ports of UUT connectors should be described through the values of IEEE Std. 1641 signal attributes, using he "pseudo pin name" format connectorID-pinID. For example, the ports of a TwoWire Connction signal to be connected to pins 1 and 2 of connector J1 should be named "J1-1" and "J1-2". When the above solution is used, this element is not needed. In some situations the above solution cannot be applied: when IEEE Std. 1641 ports are mapped to test points or component pins, when preexisting IEEE Std. 1641 contents using a different port name format is integrated into an ATML Test Description instance document, etc. In these cases the mapping of IEEE Std. 1641 ports to UUT ports shall be described using this element.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Interface">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the operation interconnects pins from the UUT interface.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Network" type="hc:Network" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall identify the UUT interface pins to be connected by the operation. Shall references two or more ports of the UUT interface.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:element name="Synchronization" type="td:SignalSynchronization" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify synchronization conditions for the signal operation. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationDisconnect" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the disconnect of an existing connection.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="Signal">
							<xs:annotation>
								<xs:documentation>The presence of this element shalll indicates that the operation disconnects a signal from the UUT pins where it was previously connected.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:choice>
									<xs:element name="LocalSignalReference">
										<xs:annotation>
											<xs:documentation>Shall identify a local signal to disconnect.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="localSignalID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the local signal. The local signal shall be connected by an operation of type OperationConnect defined in the current action. The operation that connects the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="GlobalSignalReference">
										<xs:annotation>
											<xs:documentation>Shall identify a global signal to disconnect. Shall be used only for source signals.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="globalSignalID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the global signal. The global signal shall be connected by an operation of type OperationConnect defined in a different action. The operation that connects the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically. Producers can ensure that the constraint is satisfied through proper sequencing of tests (for test groups of type TestGroupSequence), or through conditions (for other types of test groups). </xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:choice>
							</xs:complexType>
						</xs:element>
						<xs:element name="Interface">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the operation disconnects pins from the UUT interface.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Network" type="hc:Network" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall identify the UUT interface pins to be disconnected by the operation. Shall reference two or more ports of the UUT interface.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationEnable" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the enabling of event generation for an existing monitor signal.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="LocalMonitorSignalReference">
						<xs:annotation>
							<xs:documentation>Shall identify the local monitor signal to enable.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>ID of the local monitor signal. The local signal shall be set up by an operation of type OperationSetup defined in the current test. The operation that sets up the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
					<xs:element name="Synchronization" type="td:SignalSynchronization" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify synchronization conditions for the signal operation. The element shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Connection" type="td:Connection" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall specify the connection of the monitored signal to the pins of the UUT. Shall be used only for signal-based event monitors. Note that a connection can also be specified in the OperationSetup operation that creates the monitor signal. The 'name' attribute of each Port descendant shall contain the name of a signal attribute for the signal to connect. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationDisable" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the disabling of event generation for an existing monitor signal.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="LocalMonitorSignalReference">
						<xs:annotation>
							<xs:documentation>Shall identify the local monitor signal to disable.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>ID of the local monitor signal. The local signal shall be enabled by an operation of type OperationEnable defined in the current action. The operation that enables the signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
					<xs:element name="Timeout" type="xs:duration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall define a timeout for the signal operation. If the operation cannot be completed before the timeout expires then the containing action shall finish and return an "Aborted" outcome.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationWaitFor" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a pause in the execution of an action.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="TimeValue" type="c:double">
						<xs:annotation>
							<xs:documentation>Shall specify the duration of the wait. The 'standardUnit' attribute shall specify a unit of time (e.g., sec). Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationReadStateVariable" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the reading of a state variable's value and the assignment of this value to a test result of the containing test, or to a session datum of the containing session action.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:choice>
						<xs:element name="ValueToTestResult">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicates that the state variable value shall be assigned to a test result of the containing test. This element shall be used only if the containing action is of type "Test". It shall not be used if the containing action is of type "SessionAction". The data type, unit and qualifier of the state variable values shall be identical to the data type, unit and qualifier of the referenced test result. Note that the above constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="testResultID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the test result.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="ValueToSessionDatum">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the state variable value shall be assigned to a session datum of the containing session action. This element shall be used only if the containing action of this operation is of type "SessionAction". It shall not be used if the containing action is of type "Test". The data type, unit and qualifier of the state variable values shall be identical to the data type, unit and qualifier of the referenced session datum. Note that the above constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="sessionDatumID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the session datum.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:sequence>
				<xs:attribute name="stateVariableID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the state variable.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationSetStateVariable" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the assignment of a value to a state variable.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:attribute name="stateVariableID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the state variable.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="stateVariableValueID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the state variable value. The referenced value shall be a child element of the state variable referenced by attribute 'stateVariableID'. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationMessageOut" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the display of a message to the operator.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:choice>
					<xs:element name="MessageOut" type="c:Value">
						<xs:annotation>
							<xs:documentation>Shall specify the message to be displayed. This may be a string, a numeric value, boolean value, etc. The type ValueFromActionParameter shall be assigned to Datum descendants of this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to Datum descendants of this element to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to Datum descendants of this element to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to Datum descendants to indicate that the current value of the iterator is used. </xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Document" type="c:Document">
						<xs:annotation>
							<xs:documentation>Shall indicate that the message to be displayed is specified in an external document (e.g., a text document, a bitmap image, a web page, etc.). The element shall contain a reference to that document.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationMessageIn" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe the retrieval of a value from the operator.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="MessageIn">
						<xs:annotation>
							<xs:documentation>Shall describe the input message (i.e., the value provided by the operator).</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="ValueDescription" type="td:ValueDescription">
									<xs:annotation>
										<xs:documentation>Shall describes the value expected from the operator (e.g., a string, a numeric value, a boolean value, etc.). Types derived from DatumDescriptionType shall be assigned to DatumDescription descendants.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
							<xs:attribute name="ID" type="c:NonBlankString" use="required">
								<xs:annotation>
									<xs:documentation>Unique identifier, enables referencing the input message.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
					<xs:choice minOccurs="0">
						<xs:element name="ValueToTestResult">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the value provided by the operator is assigned to a test result of the containing test. This element shall be used only if the containing action of this operation is of type "Test". It shall not be used if the containing action is of type "SessionAction". The data type, unit and qualifier of the input message (described through the MessageIn/ValueDescription element) shall be identical to the data type, unit and qualifier of the referenced test result. Note that the above constraint is not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="testResultID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the test result.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="ValueToSessionDatum">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicates that the value provided by the operator is assigned to a session datum of the containing session action. This element shall be used only if the containing action of this operation is of type "SessionAction". It shall not be used if the containig action is of type "Test". The data type, unit and qualifier of the input message (described through the MessageIn/ValueDescription element) shall be identical to the data type, unit and qualifier of the referenced session datum. Note that the above constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="sessionDatumID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the session datum.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationRepeat" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe repeated execution for a set of operations. Refer to B.6 for an example on using this type.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="Setup" type="td:Operations" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe the operations used for setup purposes. These  operations are executed once, before the other operations.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Body" type="td:Operations">
						<xs:annotation>
							<xs:documentation>Shall describe the operations to be repeated.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Decision">
						<xs:annotation>
							<xs:documentation>Shall describe the decision, i.e., a condition that is evaluated before or after each execution of Body operations, to decide if a new repetition is necessary. The operations shall be repeated if the result of the evaluation is "true".</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:choice>
								<xs:element name="Iterator">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that the decision is based on the value of an iterator. Note that the current iterator value may be referenced in the Body operations by using the type IeeeStd1641InValue.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:choice>
											<xs:element name="DiscreteValues">
												<xs:annotation>
													<xs:documentation>The presence of this element shall indicate iteration through a discrete set of values. All the values defined under this element shall have identical data type, unit and qualifier. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. </xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Value" type="c:Value" maxOccurs="unbounded">
															<xs:annotation>
																<xs:documentation>Shall define one of the values assumed by the iterator. The type ValueFromActionParameter shall be assigned to Datum descendants of this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to Datum descendants of this element to describe a series of values obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to Datum descendants of this element to describe a series of values obtained from the operator, through an operation of type OperationMessageIn defined under the same action. </xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="IncrementValues">
												<xs:annotation>
													<xs:documentation>The presence of this element shall indicate that iteration is controlled by an iterator whose value is incremented after each execution.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Value" type="c:DatumType">
															<xs:annotation>
																<xs:documentation>Shall define the series of values assumed by the iterator. The DatumType-derived types defined in the Common schema shall not be assigned to this element. The type IncrementedValue shall be assigned to describe a series of values generated through iteration. The type ValueFromOperationMeasurement shall be assigned to describe a series of values obtained from a measurement defined through an operation of type OperationRead defined under the Body ancestor. The type ValueFromOperationMessageIn shall be assigned to describe a series of values obtained from the operator, through an operation of type OperationMessageIn defined under the Body ancestor. </xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Limits">
															<xs:annotation>
																<xs:documentation>Shall define the limits the iterator is compared against.</xs:documentation>
															</xs:annotation>
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="Limit" type="c:Limit" maxOccurs="unbounded">
																		<xs:annotation>
																			<xs:documentation>Shall define a limit, limit pair, or an expected value plus a comparison operator. The type ValueFromActionParameter shall be assigned to Datum descendants of this element to indicate a value that originates from a parameter of the containing action. The type ValueFromOperationMeasurement shall be assigned to Datum descendants of this element to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to Datum descendants of this element to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. </xs:documentation>
																		</xs:annotation>
																	</xs:element>
																</xs:sequence>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:choice>
										<xs:attribute name="ID" type="c:NonBlankString" use="required">
											<xs:annotation>
												<xs:documentation>Unique identifier, enables referencing of the iterator.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="name" type="c:NonBlankString">
											<xs:annotation>
												<xs:documentation>Name of the iterator.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
								<xs:element name="Other" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that the decision is described through free-form text. The contents of the element shall describe the decision.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:choice>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationConditional" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe conditional execution for a set of operations. Shall specify a set of operations to be performed when a condition is satisfied, and a different set of operations to be performed when the condition is not satisfied. Note that descendants OnTrue and OnFalse are both optional. At least one these descendants shall appear in instance documents. This constraint is not enforced by the XML Schema. Consumers should verify this constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:sequence>
					<xs:element name="Decision">
						<xs:annotation>
							<xs:documentation>Shall describe the decision, i.e., a condition that is evaluated at the beginning of the current operation to decide which set of operations will be executed.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:choice>
								<xs:element name="ValueComparison">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that the decision is evaluated by comparing a value against a set of limits. The source of the value and the limits shall be described under this element.</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Value" type="c:DatumType">
												<xs:annotation>
													<xs:documentation>Shall describe the source of the value to be compared. The DatumType-derived types defined in the Common schema shall not be assigned to this element. The type ValueFromActionParameter shall be assigned to describe a value obtained from a parameter of the containing Action. The type ValueFromOperationMeasurement shall be assigned to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to indicate that the current value of the iterator is used. </xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="Limits">
												<xs:annotation>
													<xs:documentation>Shall define the limits the value is compared against.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Limit" type="c:Limit" maxOccurs="unbounded">
															<xs:annotation>
																<xs:documentation>Shall define a limit, limit pair, or an expected value plus a comparison operator. The type ValueFromActionParameter may be assigned to Datum descendants of this element to indicate a value that originates from a parameter of the containing test. The type ValueFromOperationMeasurement shall be assigned to Datum descendants of this element to describe a value obtained from a measurement defined through an operation of type OperationRead defined under the same action. The type ValueFromOperationMessageIn shall be assigned to Datum descendants of this element to describe a value obtained from the operator, through an operation of type OperationMessageIn defined under the same action. If the current operation is located in the Body of an OperationRepeat, the type ValueFromIterator shall be assigned to Datum descendants to indicate that the current value of the iterator is used. </xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="Other" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that the decision is described through free-form text. The contents of the element shall describe the decision.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:choice>
						</xs:complexType>
					</xs:element>
					<xs:sequence>
						<xs:element name="OnTrue" type="td:Operations" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe the operations to be performed when the result of the evaluation is 'true'.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="OnFalse" type="td:Operations" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Shall describe the operations to be performed when the result of the evaluation is 'false'.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OperationOther" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe an operation with custom behavior.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:OperationType">
				<xs:choice>
					<xs:element name="DetailedInformation" type="c:NonBlankString">
						<xs:annotation>
							<xs:documentation>The presence of this element shall indicate that behavior is described through free-form text, embedded in the instance document. The contents of the elelemnt shall describe the behavior.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Document" type="c:Document">
						<xs:annotation>
							<xs:documentation>The presence of this element shall indicate that behavior is described in an external document. The element shall reference the external document.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:choice>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SignalSynchronization">
		<xs:annotation>
			<xs:documentation>Shall describe the synchronization condition for a signal operation defined by an OperationType-derived element. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SyncTo" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall indicate that the signal operation is synchronized to an event (i.e., the operation is performed when the event occurs). Shall identify the monitor signal that generates event. The monitor signal shall be set up by an operation of type OperationSetup defined in the current test and enabled by an operation of type OperationEnable defined in the current test. The operations that set up and enable the monitor signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
						<xs:annotation>
							<xs:documentation>ID of the monitor signal that generates the event. Shall reference a local monitor signal. </xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="Gated" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall indicate that the signal operation is gated by events. Shall identify the monitor signal or signals that generate event.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="With">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the signal operation is gated by one event, i.e., the operation is performed for the duration of the event. Shall identify the monitor signal that generates event. The monitor signal shall be set up by an operation of type OperationSetup defined in the current test and enabled by an operation of type OperationEnable defined in the current test. The operations that set up and enable the monitor signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the monitor signal that generates the event. Shall reference a local monitor signal.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="FromTo">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the signal operation is gated by two events, i.e., the operation is performed from the moment the "from" event occurs until the moment the "to" event occurs.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="From">
										<xs:annotation>
											<xs:documentation>Shall identify the monitor signal that generates the "from" event. The monitor signal shall be set up by an operation of type OperationSetup defined in the current test and enabled by an operation of type OperationEnable defined in the current test. The operations that set up and enable the monitor signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the monitor signal that generates the "from" event. Shall reference a local monitor signal. </xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
									<xs:element name="To">
										<xs:annotation>
											<xs:documentation>Shall identify the monitor signal that generates the "to" event. The monitor signal shall be set up by an operation of type OperationSetup defined in the current test and enabled by an operation of type OperationEnable defined in the current test. The operations that set up and enable the monitor signal shall be executed before the current operation. Note that the above constraints are not enforced by the XML schema. Consumers should verify the constraints programmatically.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:attribute name="localMonitorSignalID" type="c:NonBlankString" use="required">
												<xs:annotation>
													<xs:documentation>ID of the monitor signal that generates the "to" event. Shall reference a local monitor signal. </xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PowerSpecification">
		<xs:annotation>
			<xs:documentation>Shall describe UUT power requirements.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="c:Limit">
				<xs:sequence>
					<xs:element name="Conditions" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe the conditions under which the current specification is defined.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Condition" type="c:NonBlankString" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Shall describe one condition through free-form text.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="SupplementalInformation" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Shall contain any additional information necessary to clarify the specification.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SignalInformation">
		<xs:annotation>
			<xs:documentation>Shall describe a signal present at a UUT pin.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SignalName" type="c:NonBlankString">
				<xs:annotation>
					<xs:documentation>Signal name.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SignalType" type="td:SignalType">
				<xs:annotation>
					<xs:documentation>Signal type. Shall be one of: Input, Output, Bi-Directional, Load.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="SignalDefinition" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Signal definition, provided as free-form text.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PinFunction">
		<xs:annotation>
			<xs:documentation>Shall describe the function of a UUT pin, including the description of the signal and other descriptive data.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SignalInformation" type="td:SignalInformation">
				<xs:annotation>
					<xs:documentation>Shall contain the description of the signal at the UUT pin.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DescriptiveData" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall contain other descriptive data relevant for the function of the UUT pin, e.g., wire size, wire length, wire type, grounding, etc.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FaultFailureType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type for describing faults and failures. Shall contain information common to faults and failures. Note that this is an abstract type, used as base type for other type definitions. Note that the 'severity' attribute supports a fixed set of severity levels. The Extension element should be used to specify severity levels that do not belong to that set.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="FailureMode" type="c:NonBlankString">
				<xs:annotation>
					<xs:documentation>Shall specify the failure mode (e.g., Open, Short, Stuck at 0, Stuck at 1, Out of Tolerance).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="FailureRate" type="xs:double" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall specify the failure rate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Location" type="hc:Network" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall indicate the location where the fault or failure occurs. For failures, shall reference one or more UUT interface ports. For faults, shall reference one or more UUT component ports.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Repair" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall contain information on repairing the UUT when the fault or failure is detected.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice>
						<xs:element name="RepairActions">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicate that the repair actions necessary to remediate the current fault or failure are described in the instance document. The descendants of this element shall describe the repair actions.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="RepairAction" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>Shall describes one repair action.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Description" type="c:NonBlankString">
													<xs:annotation>
														<xs:documentation>Shall contain a free-form description for the repair action.</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Extension" type="c:Extension" minOccurs="0">
													<xs:annotation>
														<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
											<xs:attribute name="name" type="c:NonBlankString">
												<xs:annotation>
													<xs:documentation>Name of the repair action.</xs:documentation>
												</xs:annotation>
											</xs:attribute>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="ExternalRepairInstructions">
							<xs:annotation>
								<xs:documentation>The presence of this element shall indicates that the repair actions necessary to remediate the current fault or failure are described in an external document. Shall reference the external document.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="RepairInstructions" type="c:Document">
										<xs:annotation>
											<xs:documentation>Shall reference an external document that contains repair instructions for the UUT.</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="ActionCodes">
										<xs:annotation>
											<xs:documentation>Shall contain user-specific codes allowing the identification in the repair instructions document of the repair actions necessary to remediate the current fault or failure.</xs:documentation>
										</xs:annotation>
										<xs:complexType>
											<xs:sequence>
												<xs:element name="ActionCode" type="c:NonBlankString" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>Shall contain one action code.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Extension" type="c:Extension">
							<xs:annotation>
								<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="DetectionIsolationComment" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall contain a free-form comment regarding detection (or non-detection) and isolation of the fault or failure.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Extension" type="c:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the fault or failure.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="insertable" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Shall indicate if the fault or failure is insertable.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="severity" type="td:SeverityLevel">
			<xs:annotation>
				<xs:documentation>Shall describe the severity of the fault or failure. Shall be one of: Warning, Error, Fatal.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="source" type="c:NonBlankString">
			<xs:annotation>
				<xs:documentation>Shall describes the source of the fault or failure through free-form text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="DetectionIsolation">
		<xs:annotation>
			<xs:documentation>Shall identify a set of faults and failures detected or isolated. Failure and fault data referenced by this type shall be defined under the FailureFaultData child of the root element.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Faults" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall identify the faults detected or isolated.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Fault" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall identify one fault.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="faultID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the fault.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Failures" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall identify the failures detected or isolated.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Failure" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall identify one failure.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="failureID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the failure.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PerformanceCharacteristicType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type for describing the performance characteristics of UUT inputs, outputs and controls. Contains information common to inputs, outputs and controls. Note that this is an abstract type, used as base type for other type definitions. </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Description" type="c:NonBlankString" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Free-form description.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Connection" type="td:Connection">
				<xs:annotation>
					<xs:documentation>Shall define the ports of the signal associated with the performance characteristic and shall describe their location on the UUT interface. The Network descendants of this element shall only reference ports of UUT interface connectors.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Unique identifier, enables referencing the performance characteristic.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Functional name for the performance characteristic.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Type of the power, input, output or control (e.g., electrical, electro-optical, mechanical, hydraulic, pneumatic).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="TsfClass">
		<xs:annotation>
			<xs:documentation>Shall identify a TSF class in a TSF Library. </xs:documentation>
		</xs:annotation>
		<xs:attribute name="tsfLibraryID" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation> ID of the TSF Library. The TSF Library shall be defined under the TsfLibraries child of the root element. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="tsfClassName" type="c:NonBlankString" use="required">
			<xs:annotation>
				<xs:documentation>Name identifying the TSF class within the TSF Library. Shall match the name of a TSF class defined in the TSF Library. Note that this constraint is not enforced by the XML schema. Consumers should verify this constraint programmatically.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="TsfClassAttribute">
		<xs:annotation>
			<xs:documentation>Shall specify a value for an attribute of a TSF class.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" type="td:TsfClassAttributeName">
				<xs:annotation>
					<xs:documentation>Name identifying the TSF class attribute. If a TSF class is specified for the signal, this element shall contain the name of an attribute of that TSF class. If a TSF class is not specified, it shall contain one of the attributes defined in H.7.1.3.1 of IEEE Std. 1641. Note that the previous constraints are not enforced by the XML schema. Consumers should verify these constraints programmatically.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Value" type="c:Value" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Shall specify the value of the attribute. For control attributes, this shall be the required value. For measured attributes, it shall be the expected value. Resolution, ErrorLimit, Range and Confidence information can be provided under DatumQuality descendants.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TsfClassAttributeName">
		<xs:annotation>
			<xs:documentation>Shall describe the name of an attribute of a TSF class. The name provided using this type shall match the name of an attribute of the TSF class specified for the current signal. Note that this constraint is not enforced by the XML schema. Consumers should verify this constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="c:NonBlankString"/>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Connection" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall define a signal connection.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Ports">
				<xs:annotation>
					<xs:documentation>Shall define the ports that are connected. These are signal / logical ports, e.g., "HI", "LO", "A", "B", "C", "N", "TX", "RX", "GND", etc.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Port" type="c:Port" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall define one port.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
				<xs:unique name="connectionPortNamesUnique">
					<xs:selector xpath="./td:Port"/>
					<xs:field xpath="@name"/>
				</xs:unique>
			</xs:element>
			<xs:element name="Networks">
				<xs:annotation>
					<xs:documentation>Shall describe the connection of ports defined under the parent element to ports that belong to interface connectors, test points, and components of the UUT.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Network" type="hc:Network" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Shall describes one connection. One Node child shall references a Port defined under the Connection ancestor. Other Node children can reference Ports of interface connectors, test points, or components.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ConnectionDatum" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall define a signal connection. Where applicable, can be assigned to elements of type DatumType. The optional attributes and child elements of the base type are not applicable and shall not be used.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:sequence>
					<xs:element name="Connection" type="td:Connection">
						<xs:annotation>
							<xs:documentation>Shall define the connection.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConnectionDatumDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a signal connection, without defining the actual ports. Where applicable, can be assigned to elements of type DatumDescriptionType. The optional attributes and elements of the base type are not applicable and shall not be used.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NumberOfPorts" type="xs:positiveInteger" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall indicate the number of ports. This optional element shall appear only if the described connection contains a fixed number of ports.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="DetailedConnectorLocation">
		<xs:annotation>
			<xs:documentation>Shall identify the location of a port on a specific connector pin, while providing detailed information for that pin. The type shall be used when it is necessary to provide detailed information for the connector pin. Otherwise, the base type c:ConnectorLocation shall be used instead. An element with this type shall not appear in instance documents unless it has at least one child element. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. See B.2 for an example of using this complex type.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="c:ConnectorLocation">
				<xs:sequence>
					<xs:element name="Function" type="td:PinFunction" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe the function of the pin, including pin designation, signal name, signal definition and signal description. This element shall not appear for pins of type "Not Connected". Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Wire" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall contain information for the wire that will be connected to the UUT.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Description" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>Shall contain a free-form description of the wire, including wire type (e.g., coaxial), wire size, etc.</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="Relationships" minOccurs="0">
									<xs:annotation>
										<xs:documentation>Shall describe wire dependencies (e.g., twisted with, shielded with).</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Relationship" maxOccurs="unbounded">
												<xs:annotation>
													<xs:documentation>Shall describe one wire dependency.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Description" type="c:NonBlankString">
															<xs:annotation>
																<xs:documentation>Shall contain a free-form description of the relationship (e.g. twisted with, shielded with).</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Wires" type="hc:Network">
															<xs:annotation>
																<xs:documentation>Shall identify the other wire or wires the current wire is in relationship with by referencing one or more ports of the UUT interface.</xs:documentation>
															</xs:annotation>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="DataAccess" type="c:NonBlankString" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Shall describe "virtual pins", representing firmware variables that may be read during testing (similar to measurements performed on physical pins). Shall specify the command used to retrieve data from the firmware variable.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Extension" type="c:Extension" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueFromTestGroupParameter" mixed="false">
		<xs:annotation>
			<xs:documentation>Indicates that a value originates from a parameter of a test group. Where applicable, can be assigned to elements of type DatumType. If present, the unit and qualifier shall be identical to those of the referenced parameter. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:attribute name="testGroupParameterID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the test group parameter.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueFromActionResults" mixed="false">
		<xs:annotation>
			<xs:documentation>Indicates that a value originates from one test result of a test, or from one session datum of a session action, or from multiple such child elements of different actions. Where applicable, can be assigned to elements of type DatumType. If the TestResult and SessionDatum child elements reference data items from more than one action, data shall be obtained from the action that is executed last (among the actions executed before the ancestor action of the element this complex type is assigned to). The TestResult and SessionDatum child elements shall not reference more than one data item from the same action. This constraint was introduced because in that situation there would be no way to determine which data item the data will be obtained from. Note that the constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. If present, the unit and qualifier shall be identical to those of the referenced test results and session data. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. Note that both child elements TestResult and SessionDatum are optional. Elements with this type shall not appear in instance documents unless at least one of these child elements exists. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:sequence>
					<xs:choice maxOccurs="unbounded">
						<xs:element name="SessionDatum">
							<xs:annotation>
								<xs:documentation>Shall identify one session datum the value originates from.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="sessionDatumID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the session datum.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
						<xs:element name="TestResult">
							<xs:annotation>
								<xs:documentation>Shall identify one test result the value originates from.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:attribute name="testResultID" type="c:NonBlankString" use="required">
									<xs:annotation>
										<xs:documentation>ID of the test result.</xs:documentation>
									</xs:annotation>
								</xs:attribute>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueFromActionParameter" mixed="false">
		<xs:annotation>
			<xs:documentation>Indicates that a value originates from a parameter of an action (test or session action) that is an ancestor of the current element. Where applicable, can be assigned to elements of type DatumType. If present, the unit and qualifier shall be identical to those of the referenced parameter. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:attribute name="parameterID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the action parameter.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueFromOperationMeasurement" mixed="false">
		<xs:annotation>
			<xs:documentation>Indicates that a value originates from a measurement defined through an operation of type OperationRead. Where applicable, can be assigned to elements of type DatumType. If present, the unit and qualifier shall be identical to those of the referenced measurement. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:attribute name="measurementID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the measurement.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueFromOperationMessageIn" mixed="false">
		<xs:annotation>
			<xs:documentation>Indicates that a value originates from an ATE operator message obtained through an operation of type OperationMessageIn. Where applicable, can be assigned to elements of type DatumType. If present, the unit and qualifier shall be identical to those of the referenced message. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:attribute name="messageInID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the message.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueFromIterator" mixed="false">
		<xs:annotation>
			<xs:documentation>Indicates that a value originates from an iterator defined through an operation of type OperationRepeat. Where applicable, can be assigned to elements of type DatumType. If present, the unit and qualifier shall be identical to those of the referenced iterator. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:attribute name="iteratorID" type="c:NonBlankString" use="required">
					<xs:annotation>
						<xs:documentation>ID of the iterator.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="IncrementedValue" mixed="false">
		<xs:annotation>
			<xs:documentation>Shall describe a series of values generated through iteration.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="c:DatumType">
				<xs:sequence>
					<xs:element name="InitialValue" type="c:Value">
						<xs:annotation>
							<xs:documentation>Shall define the initial value of the iterator, i.e., the value assumed before executing the OperationRepeat operations. The type ValueFromActionParameter shall be assigned to the Datum child element to indicate an initial value that originates from a Parameter of the containing Test.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Increment">
						<xs:annotation>
							<xs:documentation>Shall define the increment for the iterator, i.e., the value to be added to the iterator after each execution of the OperationRepeat operations.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:choice>
								<xs:element name="Linear" type="c:Value">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that a linear increment is used. The element shall define the value of the increment. The data type, unit and qualifier of theincremet shall be identical to those of the initial value. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. The type ValueFromActionParameter shall be assigned to the element to indicate an increment value that originates from a parameter of the containing test.</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="LogarithmicSteps" type="c:Value">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that a logarithmic increment is used. The element shall specify the number of steps between the Initial Value and the Limit. An integer data type shall be used to specify the number of steps in the instance document. The type ValueFromActionParameter shall be assigned to the element to indicate an initial value that originates from a parameter of the containing test.</xs:documentation>
									</xs:annotation>
								</xs:element>
								<xs:element name="Other" type="c:NonBlankString">
									<xs:annotation>
										<xs:documentation>The presence of this element shall indicate that another type of increment is used. The element shall describe the increment through free-form text</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:choice>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ValueDescription">
		<xs:annotation>
			<xs:documentation>Describes a value, providing an optional nominal value. This type is similar to c:Value, but does not specify the actual value. It is typically used to describe values that will be obtained at run-time through measurement, from the operator, etc.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="DatumDescription" type="td:DatumDescriptionType">
				<xs:annotation>
					<xs:documentation>The value consists of one data item.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CollectionDescription" type="td:CollectionDescription">
				<xs:annotation>
					<xs:documentation>The value consists of a set of heterogeneous data items. Each item may have a different data type and unit.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="IndexedArrayDescription" type="td:IndexedArrayDescriptionType">
				<xs:annotation>
					<xs:documentation>The value consists of an array of homogenous data items. All elements have the same data type and unit.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="DatumDescriptionType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract base type for types that describe a value consisting of a data item (e.g., numeric, boolean, string, date-time), an optional nominal value, optional unit information, and optional quality information (range, resolution and accuracy). Note that this is an abstract type, used as base type for other type definitions. Where this type is assigned in the schema, elements with derived types shall be provided. The 'xsi:type' attribute shall be used to indicate the type of the elements. Attributes 'standardUnit' and 'nonStandardUnit' shall be alternative. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:group ref="c:DatumQuality"/>
		<xs:attributeGroup ref="c:UnitAttributes">
			<xs:annotation>
				<xs:documentation>Unit of the data item.</xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
	</xs:complexType>
	<xs:complexType name="CollectionDescription">
		<xs:annotation>
			<xs:documentation>Describes a value that consists of a set of heterogeneous data items. Attributes standardUnit and nonStandardUnit shall be alternative. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:group ref="c:DatumQuality"/>
			<xs:element name="ItemDescription" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Describes one data item.</xs:documentation>
				</xs:annotation>
				<xs:complexType mixed="false">
					<xs:complexContent mixed="false">
						<xs:extension base="td:ValueDescription">
							<xs:attribute name="name" type="c:NonBlankString">
								<xs:annotation>
									<xs:documentation>Name of the data item.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="c:UnitAttributes">
			<xs:annotation>
				<xs:documentation>Default unit, applies to data items for which a unit is not explicitly defined.</xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
	</xs:complexType>
	<xs:complexType name="IndexedArrayDescriptionType" abstract="true">
		<xs:annotation>
			<xs:documentation>Abstract type, describes a value that consists of an array of homogenous data items. The array shall be zero-based. The elements of the array may be individual data items or collections. All elements of the array shall have the same data type. Note that this constraint is not enforced by the XML schema. Consumers should verify the constraint programmatically. Note that this is an abstract type, used as base type for other type definitions. Where this type is assigned in the schema, elements with derived types shall be provided. The xsi:type attribute shall be used to indicate the type of the elements. </xs:documentation>
		</xs:annotation>
		<xs:group ref="c:DatumQuality"/>
		<xs:attributeGroup ref="c:UnitAttributes">
			<xs:annotation>
				<xs:documentation>Common unit, applies to all array elements.</xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
		<xs:attribute name="dimensions" type="c:ArrayIndexor">
			<xs:annotation>
				<xs:documentation>Specifies the array bounds for each dimension. Implicitly specifies the number of dimensions.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="binaryDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a binary value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:binary" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value. </xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="binaryArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of binary values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:binary" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:binary">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="booleanDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a boolean value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="booleanArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of boolean values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:boolean" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:boolean">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="complexDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a complex numeric value (i.e., a value that has real and imaginary components). Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:complex" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="complexArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of complex numeric values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:complex" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:complex">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="dateTimeDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a date-time value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="dateTimeArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a date-time value. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:dateTime">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="hexadecimalDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a hex-encoded binary value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:hexadecimal" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="hexadecimalArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of hex-encoded binary values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:hexadecimal" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:hexadecimal">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="doubleDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a numeric value that corresponds to the IEEE double precision 64-bit floating point type. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:double" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="doubleArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of floating-point numeric values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:double" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:double">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="integerDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a 32-bit signed integer value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:integer" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="integerArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of 32-bit signed integer values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:integer" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:integer">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="octalDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an octal-encoded binary value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:octal" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="octalArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of octal-encoded binary values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:octal" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:octal">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="stringDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a string value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="stringArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of string values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:string" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:string">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="unsignedIntegerDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes a 32-bit unsigned integer value. Where applicable, can be assigned to elements of type DatumDescriptionType.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:DatumDescriptionType">
				<xs:sequence>
					<xs:element name="NominalValue" type="c:unsignedInteger" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Nominal value.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="unsignedIntegerArrayDescription" mixed="false">
		<xs:annotation>
			<xs:documentation>Describes an array of 32-bit unsigned integer values. Where applicable, can be assigned to elements of type IndexedArrayDescriptionType. Note that it is possible to have elements with this type that have no elements or attributes. The presence of such an element indicates that the described entity is an array with unknown size and number of dimensions, where elements have no unit, that a default value for elements is not specified, and that a nominal value for the described entity is not specified.</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="td:IndexedArrayDescriptionType">
				<xs:sequence>
					<xs:element name="DefaultElementValue" type="c:unsignedInteger" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Default value, applies to all array elements whose value is not explicitly defined through NominalElementValue child elements.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="NominalElementValue" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>The value of an array element, for the nominal array value.</xs:documentation>
						</xs:annotation>
						<xs:complexType mixed="false">
							<xs:complexContent mixed="false">
								<xs:extension base="c:unsignedInteger">
									<xs:attribute name="position" type="c:ArrayIndexor" use="required">
										<xs:annotation>
											<xs:documentation>Index of the element.</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>
