<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Teresa P. Lopes (private) -->
<xs:schema targetNamespace="http://www.atml.org/CANDIDATE/TestResults" xmlns="http://www.atml.org/CANDIDATE/TestResults" xmlns:c="http://www.atml.org/CANDIDATE/Common" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<xs:import namespace="http://www.atml.org/CANDIDATE/Common" schemaLocation="Common.xsd"/>
	<xs:simpleType name="repairCodeType">
		<xs:annotation>
			<xs:documentation>Enumeration of repair codes.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Repair"/>
			<xs:enumeration value="Replace"/>
			<xs:enumeration value="Cannibalize"/>
			<xs:enumeration value="Reseat"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="RepairType">
		<xs:annotation>
			<xs:documentation>Identify the type of repair conducted.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Component" type="c:ItemInstanceType">
				<xs:annotation>
					<xs:documentation>Identify the repaired component.
??? Should this be unbounded?</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="repairCode" type="repairCodeType" use="required"/>
		<xs:attribute name="repairName" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="FailureModeType">
		<xs:annotation>
			<xs:documentation>Provides a structure for capture of specific failure information related to an indictment.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="ID" type="xs:string" use="required"/>
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="IndictmentType">
		<xs:annotation>
			<xs:documentation>Permits the capture of identification data for component(s) identified as being implicated (indicted) in a test failure.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="c:ItemInstanceType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="OutcomeValueType">
		<xs:annotation>
			<xs:documentation>Simple enumeration to specify test outcome: pass, fail, notest, error.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Pass"/>
			<xs:enumeration value="Fail"/>
			<xs:enumeration value="NoTest"/>
			<xs:enumeration value="Error"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="OutcomeType">
		<xs:attribute name="value" type="OutcomeValueType" use="required"/>
		<xs:attribute name="qualifier" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="EventType">
		<xs:annotation>
			<xs:documentation>Provides for the capture of non-result data or system/operator messages generated during a test.</xs:documentation>
		</xs:annotation>
		<xs:sequence minOccurs="0">
			<xs:element name="Message" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Data" type="c:ValueType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Reference" type="c:ReferenceType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:string" use="required"/>
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="severity" use="optional">
			<xs:annotation>
				<xs:documentation>0 - lowest severity; information only 4 - highest severity; critical event</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:int">
					<xs:enumeration value="0"/>
					<xs:enumeration value="1"/>
					<xs:enumeration value="2"/>
					<xs:enumeration value="3"/>
					<xs:enumeration value="4"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="source" type="xs:string" use="required"/>
		<xs:attribute name="timeStamp" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<xs:complexType name="ParameterType">
		<xs:annotation>
			<xs:documentation>Provides for capture of test input parameters using a ValueType.</xs:documentation>
		</xs:annotation>
		<xs:sequence minOccurs="0">
			<xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Data" type="c:ValueType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Reference" type="c:ReferenceType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:string" use="optional"/>
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="timeStamp" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<xs:complexType name="TestResultType">
		<xs:annotation>
			<xs:documentation>Element sequence to capture test result data, comparison limits, components indicted in a failure and any data transforms required to evaluate raw capture data.</xs:documentation>
		</xs:annotation>
		<xs:all>
			<xs:element name="Outcome" type="OutcomeType"/>
			<xs:element name="TestData" type="c:ValueType">
				<xs:annotation>
					<xs:documentation>Captured data from the test equipment. This may be either raw or post-processed data. It is presumed that a Transform will be provided for raw data.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Transform" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Any transform that might be needed to produce meaningful results from RawData. NOTE: there is some thought that this may not be needed/useful.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Extension" type="c:ExtensionType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Indictments" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Indictment" type="IndictmentType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Optional element to capture data about a component (item) suspected of contributing to an out-of-limit test result. </xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="TestLimits" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Limits" type="c:LimitType" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Limits against which TestData is compared to arrive at a testOutcome.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:all>
		<xs:attribute name="ID" type="xs:string" use="optional"/>
		<xs:attribute name="name" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="TestType">
		<xs:annotation>
			<xs:documentation>The TestType element is to be used to capture all activity within a test program. This will include any initialization, calibration, tests, post-test events, etc. The ID attribute of this element does not necessarily indicate the order of tests. It is assumed that the order of the tests within the file is significant.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Outcome" type="OutcomeType"/>
			<xs:element name="Description" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Optional descriptive information for the test.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Optional element to capture any non-result event occuring during a test. Events may be system or operator messages.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Parameter" type="ParameterType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Optional storage for test parameters, as required.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Calibration" type="ParameterType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Optional calibration information for the test instance.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TestResult" type="TestResultType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="c:ExtensionType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Provided to permit schema extensibility.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:string" use="required"/>
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
		<xs:attribute name="cost" type="xs:double" use="optional"/>
		<xs:attribute name="simulated" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="startDateTime" type="xs:dateTime" use="optional"/>
		<xs:attribute name="endDateTime" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<xs:complexType name="TestGroupType">
		<xs:annotation>
			<xs:documentation>Heirarchical group element to permit more structured format of test data.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Outcome" type="OutcomeType"/>
			<xs:element name="Description" type="xs:string" minOccurs="0"/>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element name="Test" type="TestType"/>
				<xs:element name="TestGroup">
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="TestGroupType"/>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:string" use="required"/>
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="entryPoint" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="simulated" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="startDateTime" type="xs:dateTime" use="optional"/>
		<xs:attribute name="endDateTime" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<xs:element name="TestResults">
		<xs:annotation>
			<xs:documentation>Root element for this schema.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element name="UUT" type="c:HardwareItemType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Minimal identification data for the subject UUT.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="ResultSet" type="TestGroupType">
					<xs:annotation>
						<xs:documentation>Parent element to permit heirarchical structure of TestGroups.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="TestStation" type="c:HardwareItemType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Reference information to identify the specific test station on which a test was run.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="TestProgram" type="c:SoftwareItemType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Reference information to enable linkage of a specific Test Program or TestProgram schema instance.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="WorkOrder" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The reference ID of a Work Order related to this test.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence minOccurs="0">
							<xs:element name="WorkItem" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Optional holder for specific Work Item(s) from the Work Order.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="ID" type="xs:anySimpleType" use="required"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="ID" type="xs:anySimpleType" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="PreTestRepairs" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Identifies components repaired prior to a test or test run. Applies to diagnostics.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Repair" type="RepairType" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Identify the repair.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Environmental" minOccurs="0">
					<xs:annotation>
						<xs:documentation>External environmental data pertinent to the test instance.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Data" type="c:ValueType" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Extension of ValueType with an added name attribute to identify the particular environmental parameter.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Extension" type="c:ExtensionType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Element provided to permit extensibility of the schema.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="References" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Reference" type="c:ReferenceType" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Miscellaneous reference information relevant to the overall set of Tests in this file.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Operator" type="c:OperatorType" minOccurs="0"/>
				<xs:element name="Indictments" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Indictment" type="IndictmentType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
</xs:schema>

