<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 sp2 (http://www.altova.com) by Ronald Taylor (STS) -->
<xs:schema targetNamespace="urn:P-IEEE-1671:2008.03:TestEquipment" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.23" xmlns="urn:P-IEEE-1671:2008.03:TestEquipment" xmlns:hc="urn:IEEE-1671:2008.01:HardwareCommon" xmlns:c="urn:IEEE-1671:2008.01:Common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:import namespace="urn:IEEE-1671:2008.01:Common" schemaLocation="Common.xsd"/>
	<xs:import namespace="urn:IEEE-1671:2008.01:HardwareCommon" schemaLocation="HardwareCommon.xsd"/>
	<xs:complexType name="TestEquipmentInstance">
		<xs:annotation>
			<xs:documentation>This type defines the common information for a particular serial number of a Test Station or a Test Adapter.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="c:HardwareInstance">
				<xs:sequence>
					<xs:element name="Controllers" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Ordered list of TestStation or TestAdapter controllers.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Controller" type="Controller" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>The Station or Test Adapters  controller.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Software" type="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:element>
					<xs:element name="Paths" type="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:element>
					<xs:element name="Capabilities" type="hc:Capabilities" minOccurs="0"/>
					<xs:element name="SelfTestRuns" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Self test last run ETE on Test Station or Test Adapter.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="SelfTestRun" maxOccurs="unbounded">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Description" type="c:NonBlankString" minOccurs="0"/>
											<xs:element name="InstanceDocumentReference" type="c:DocumentReference" minOccurs="0">
												<xs:annotation>
													<xs:documentation>If this element is used, it shall contain data identifying the Instance document associated with this test run, such as a Test Results instance.</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="Extension" type="c:Extension" minOccurs="0"/>
										</xs:sequence>
										<xs:attribute name="name" type="c:NonBlankString" use="required"/>
										<xs:attribute name="version" type="c:NonBlankString"/>
										<xs:attribute name="date" type="xs:dateTime" use="required">
											<xs:annotation>
												<xs:documentation>Date and time self test last run ETE.</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="SubSystemCalibration" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Subsystem calibrated (used if separte calibration is done on subsystems)</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="SubSystem" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Subsystem calibrated</xs:documentation>
									</xs:annotation>
									<xs:complexType>
										<xs:sequence>
											<xs:element name="CalibrationDate" type="xs:dateTime">
												<xs:annotation>
													<xs:documentation>Date subsystem last calibrated</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="CalibrationFrequency" type="xs:duration" minOccurs="0">
												<xs:annotation>
													<xs:documentation>Frequency which calibration is required to be run.</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="name" type="c:NonBlankString" use="required"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Configuration" type="c:NonBlankString" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Current Test Station or Test Adapter configuration. (i.e RF, Digital, EO)</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Extension" type="c:Extension" minOccurs="0">
						<xs:annotation>
							<xs:documentation>This element can be used to extend the Test Equipment Instance.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="TestEquipment">
		<xs:annotation>
			<xs:documentation>This type defines the common information associated with a Test Station and a Test Adapter.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="hc:HardwareItemDescription">
				<xs:sequence>
					<xs:element name="FacilitiesRequirements" type="hc:FacilitiesRequirements" minOccurs="0">
						<xs:annotation>
							<xs:documentation>List of non power facilities requirements</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Controllers" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Ordered list of TestStation or TestAdapter controllers.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Controller" type="Controller" maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>The Station or Test Adapter  controller.</xs:documentation>
									</xs:annotation>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Software" type="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:element>
					<xs:element name="Paths" type="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:element>
					<xs:element name="Specifications" type="hc:Specifications" minOccurs="0"/>
					<xs:element name="Resources" type="hc:Resources" minOccurs="0"/>
					<xs:element name="Switching" type="hc:Switching" minOccurs="0"/>
					<xs:element name="Capabilities" type="hc:Capabilities" minOccurs="0"/>
					<xs:element name="TerminalBlocks" minOccurs="0">
						<xs:annotation>
							<xs:documentation>List of terminal blocks inside adapter or test station.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence maxOccurs="unbounded">
								<xs:element name="TerminalBlock">
									<xs:complexType>
										<xs:complexContent>
											<xs:extension base="hc:RepeatedItem">
												<xs:sequence>
													<xs:element name="Interface" type="c:Interface"/>
												</xs:sequence>
											</xs:extension>
										</xs:complexContent>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Software">
		<xs:sequence>
			<xs:element name="SoftwareItem" type="c:ItemDescription" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Paths">
		<xs:sequence>
			<xs:element name="Path" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PathNodes">
							<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="Node" minOccurs="2" maxOccurs="unbounded">
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="hc:NetworkNode">
													<xs:attribute name="name" type="c:NonBlankString" use="required">
														<xs:annotation>
															<xs:documentation>Name for the node in the path.  Used to reference the node when specifying path-loss data.</xs:documentation>
														</xs:annotation>
													</xs:attribute>
												</xs:extension>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:sequence>
							<xs:element name="SignalDelays" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Delay time of signal through this path (electrical length)</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="SignalDelay" maxOccurs="unbounded">
											<xs:complexType>
												<xs:complexContent>
													<xs:extension base="c:Limit">
														<xs:sequence>
															<xs:element name="Frequency" type="c:Limit" minOccurs="0">
																<xs:annotation>
																	<xs:documentation>Frequency range associated with this SignalDelay.</xs:documentation>
																</xs:annotation>
															</xs:element>
														</xs:sequence>
														<xs:attribute name="inputPort" type="c:NonBlankString" use="required">
															<xs:annotation>
																<xs:documentation>Name of node the signal goes into.  If the value applies to all nodes in the path, specify the first node in the path.</xs:documentation>
															</xs:annotation>
														</xs:attribute>
														<xs:attribute name="outputPort" type="c:NonBlankString" use="required">
															<xs:annotation>
																<xs:documentation>Name of node the signal goes out of.  If the value applies applies to all nodes in the path, specify the last node in the path.</xs:documentation>
															</xs:annotation>
														</xs:attribute>
													</xs:extension>
												</xs:complexContent>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="VSWRValues" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Voltage Standing Wave Ratio (VSWR) associated with this path.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="VSWRValue" maxOccurs="unbounded">
											<xs:complexType>
												<xs:complexContent>
													<xs:extension base="c:Limit">
														<xs:sequence>
															<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:attribute name="inputPort" type="c:NonBlankString" use="required">
															<xs:annotation>
																<xs:documentation>Name of node the signal goes into.  If not specified, value applies to all nodes in the path.</xs:documentation>
															</xs:annotation>
														</xs:attribute>
													</xs:extension>
												</xs:complexContent>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="SParameters" minOccurs="0">
								<xs:annotation>
									<xs:documentation>S-parameters associated with this path.</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="SParameter" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="SParameterData" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<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:sequence>
												<xs:attribute name="inputPort" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>Name of node the signal goes into.</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="outputPort" type="c:NonBlankString" use="required">
													<xs:annotation>
														<xs:documentation>Name of the node the signal goes out of</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:sequence>
					</xs:sequence>
					<xs:attribute name="name" type="c:NonBlankString"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Controller">
		<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:ItemDescription">
												<xs:sequence>
													<xs:element name="OperatingSystemUpdates" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="OperatingSystemUpdate" type="c:NonBlankString" maxOccurs="unbounded"/>
															</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="VideoCapabilities" minOccurs="0">
						<xs:annotation>
							<xs:documentation>List of available video capabilities.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Video" type="c:NonBlankString" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="AudioCapabilities" minOccurs="0">
						<xs:annotation>
							<xs:documentation>List of available audio capabilities.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Audio" type="c:NonBlankString" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</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="xs:int"/>
							</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" 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" type="c:ItemDescription" maxOccurs="unbounded"/>
							</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" type="c:NonBlankString"/>
										<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:schema>

