<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 sp2 (http://www.altova.com) by Ronald Taylor (STS) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hc="http://www.ieee.org/ATML/2007/HardwareCommon" xmlns:c="http://www.ieee.org/ATML/2007/Common" xmlns="http://www.ieee.org/ATML/2007/02/TestEquipment" targetNamespace="http://www.ieee.org/ATML/2007/02/TestEquipment" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.8">
	<xs:import namespace="http://www.ieee.org/ATML/2007/Common" schemaLocation="Common.xsd"/>
	<xs:import namespace="http://www.ieee.org/ATML/2007/HardwareCommon" schemaLocation="HardwareCommon.xsd"/>
	<xs:element name="TestEquipmentDescription">
		<xs:annotation>
			<xs:documentation>This schema defines the information associated with a Test Station or a Test Adapter.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="hc:HardwareItemDescription">
					<xs:sequence>
						<xs:element name="OtherRequirements" minOccurs="0">
							<xs:annotation>
								<xs:documentation>List of non power facilities requirements</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence maxOccurs="unbounded">
									<xs:element name="Requirement">
										<xs:complexType>
											<xs:choice>
												<xs:element name="Hydraulic" type="c:NonBlankString" minOccurs="0"/>
												<xs:element name="Pneumatic" type="c:NonBlankString" minOccurs="0"/>
												<xs:element name="Cooling" type="c:NonBlankString" minOccurs="0">
													<xs:annotation>
														<xs:documentation>Cooling requirements.</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Extension" type="c:Extension" minOccurs="0"/>
											</xs:choice>
										</xs:complexType>
									</xs:element>
									<xs:element name="FacilitiesInterface" type="c:Interface" minOccurs="0">
										<xs:annotation>
											<xs:documentation>Non-power interfaces.</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="FacilityRequirementsDocuments" minOccurs="0">
							<xs:annotation>
								<xs:documentation>A reference to the documents which describe facility requirments for the Test Station or Test Adapter.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="FacilitiesRequirementsDocument" type="c:Document" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Layout">
							<xs:annotation>
								<xs:documentation>List of location and address of instruments.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Component" maxOccurs="unbounded">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="Name" type="c:NonBlankString"/>
												<xs:element name="PhysicalLocation" type="c:NonBlankString" minOccurs="0">
													<xs:annotation>
														<xs:documentation>Where the component is located physically (reference designator).</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="Address" type="c:NonBlankString" minOccurs="0">
													<xs:annotation>
														<xs:documentation>The address used to communicate with the component.</xs:documentation>
													</xs:annotation>
												</xs:element>
											</xs:sequence>
											<xs:attribute name="componentID" type="c:NonBlankString"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Controller" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The Station or Test Adapters  controller.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="c:ItemDescription">
										<xs:sequence>
											<xs:element name="OperatingSystems">
												<xs:annotation>
													<xs:documentation>Installed operating systems.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="OperatingSystem" maxOccurs="unbounded">
															<xs:complexType>
																<xs:complexContent>
																	<xs:extension base="c:SoftwareInstance">
																		<xs:sequence>
																			<xs:element name="OperatingSystemUpdate" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded"/>
																		</xs:sequence>
																	</xs:extension>
																</xs:complexContent>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="Video" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
												<xs:annotation>
													<xs:documentation>List of available video capabilities.</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="Audio" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded">
												<xs:annotation>
													<xs:documentation>List of available audio capabilities.</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="Processor">
												<xs:annotation>
													<xs:documentation>Processor information.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Architecture" type="c:NonBlankString" minOccurs="0">
															<xs:annotation>
																<xs:documentation>x86, PPC, SPARC, etc. </xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Type" type="c:NonBlankString" minOccurs="0">
															<xs:annotation>
																<xs:documentation>Pentium M, Power PC, etc.</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Speed" type="c:double">
															<xs:annotation>
																<xs:documentation>Clock speed.</xs:documentation>
															</xs:annotation>
														</xs:element>
														<xs:element name="Quantity" type="c:integer"/>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="Peripherals" minOccurs="0">
												<xs:annotation>
													<xs:documentation>List of available system peripherals.</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Peripheral" type="c:ItemDescription" minOccurs="0" maxOccurs="unbounded"/>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="InstalledSoftware" minOccurs="0">
												<xs:annotation>
													<xs:documentation>List of installed software,</xs:documentation>
												</xs:annotation>
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Software" maxOccurs="unbounded">
															<xs:complexType>
																<xs:complexContent>
																	<xs:extension base="c:SoftwareInstance">
																		<xs:attribute name="sourceType" use="required">
																			<xs:simpleType>
																				<xs:restriction base="xs:string">
																					<xs:enumeration value="Cots"/>
																					<xs:enumeration value="Custom"/>
																				</xs:restriction>
																			</xs:simpleType>
																		</xs:attribute>
																	</xs:extension>
																</xs:complexContent>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="PhysicalMemory" type="c:double"/>
											<xs:element name="Storage">
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Drive" maxOccurs="unbounded">
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="Size" type="c:double"/>
																</xs:sequence>
																<xs:attribute name="name"/>
																<xs:attribute name="bootDrive" type="xs:boolean"/>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="Software" minOccurs="0">
							<xs:annotation>
								<xs:documentation>A list of software associated with this test station or test adapter, in addition to controller software (i.e. Self-Test, Cal)</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="SoftwareItem" type="c:SoftwareInstance" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Paths" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Signal paths through test station or test adapter. The path could consist of wiring and switching.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Path" maxOccurs="unbounded">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="PathNodes" minOccurs="2" maxOccurs="2">
													<xs:annotation>
														<xs:documentation>Begin and end nodes. Could be nodes associated with one section of wire or the begin and end nodes of a path composed of multiple wires and/or switches.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:sequence>
															<xs:element name="Path">
																<xs:annotation>
																	<xs:documentation>XPath path identifying the node.</xs:documentation>
																</xs:annotation>
																<xs:complexType>
																	<xs:simpleContent>
																		<xs:extension base="c:NonBlankString">
																			<xs:attribute name="documentId" type="c:Uuid">
																				<xs:annotation>
																					<xs:documentation>ID of the document in which the node is defined.  If not speciifed, the node is defined in the same document.</xs:documentation>
																				</xs:annotation>
																			</xs:attribute>
																		</xs:extension>
																	</xs:simpleContent>
																</xs:complexType>
															</xs:element>
														</xs:sequence>
														<xs:attribute name="Name" type="c:NonBlankString"/>
														<xs:attribute name="Description" type="c:NonBlankString"/>
													</xs:complexType>
												</xs:element>
												<xs:element name="LossValues" minOccurs="0" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>The signal losses associated with this path.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:sequence>
															<xs:element name="Loss" type="c:double">
																<xs:annotation>
																	<xs:documentation>Signal loss through this path at specified frequency.</xs:documentation>
																</xs:annotation>
															</xs:element>
															<xs:element name="Frequency" type="c:Limit" minOccurs="0">
																<xs:annotation>
																	<xs:documentation>Frequency range associated with this loss.</xs:documentation>
																</xs:annotation>
															</xs:element>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
												<xs:element name="SignalDelay" type="c:double" minOccurs="0">
													<xs:annotation>
														<xs:documentation>Delay time of signal through this path (electrical length)</xs:documentation>
													</xs:annotation>
												</xs:element>
												<xs:element name="VSWRValues" minOccurs="0" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>Voltage Standing Wave Ratio (VSWR) associated with this path.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:sequence>
															<xs:element name="VSWR" type="c:Limit">
																<xs:annotation>
																	<xs:documentation>VSWR for path.</xs:documentation>
																</xs:annotation>
															</xs:element>
															<xs:element name="Frequency" type="c:Limit" minOccurs="0">
																<xs:annotation>
																	<xs:documentation>Frequency range associated with this VSWR.</xs:documentation>
																</xs:annotation>
															</xs:element>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
												<xs:element name="Extension" type="c:Extension" minOccurs="0"/>
												<xs:element name="SParameters" minOccurs="0" maxOccurs="unbounded">
													<xs:annotation>
														<xs:documentation>S-parameters associated with this path.</xs:documentation>
													</xs:annotation>
													<xs:complexType>
														<xs:sequence>
															<xs:element name="InputPort" type="c:PortType"/>
															<xs:element name="OutputPort" type="c:PortType"/>
															<xs:element name="Magnitude" type="c:double"/>
															<xs:element name="PhaseAngle" type="c:double" minOccurs="0"/>
															<xs:element name="Frequency" type="c:double" minOccurs="0"/>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
												<xs:element name="ReturnLoss" type="c:double" minOccurs="0"/>
											</xs:sequence>
											<xs:attribute name="name" type="c:NonBlankString"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Capabilities" type="hc:Capabilities" minOccurs="0"/>
						<xs:element name="Switching" type="hc:Switching" minOccurs="0"/>
						<xs:element name="Resources" type="hc:Resources" minOccurs="0"/>
					</xs:sequence>
					<xs:attributeGroup ref="c:DocumentRootAttributes"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
		<xs:key name="componentKey">
			<xs:selector xpath="ParentComponents/Component"/>
			<xs:field xpath="ID"/>
		</xs:key>
		<xs:keyref name="componentReference" refer="componentKey">
			<xs:selector xpath="Layout/Component"/>
			<xs:field xpath="componentID"/>
		</xs:keyref>
	</xs:element>
</xs:schema>

