<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Teresa P. Lopes (private) -->
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Teresa P. Lopes (private) -->
<xs:schema xmlns="http://www.ieee.org/ATML/2005/01/InstrumentDescription" xmlns:c="http://www.ieee.org/ATML/2004/01/Common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ieee.org/ATML/2005/01/InstrumentDescription" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.5">
	<xs:import namespace="http://www.ieee.org/ATML/2004/01/Common" schemaLocation="Common.xsd"/>
	<xs:element name="InstrumentDescription">
		<xs:annotation>
			<xs:documentation>Instrument Description</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element name="Identification">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Category">
								<xs:annotation>
									<xs:documentation>Indicates whether the description is for an instrument or a module</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:NMTOKENS">
										<xs:enumeration value="Instrument"/>
										<xs:enumeration value="Module"/>
										<xs:enumeration value="Option"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ModelName" type="c:NonBlankString"/>
							<xs:element name="ModelNumber" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="Manufacturer">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ContactInformation" minOccurs="0">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="MailingAddress">
														<xs:complexType/>
													</xs:element>
													<xs:element name="PhoneNumber" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="name"/>
															<xs:attribute name="number"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="FaxNumber" minOccurs="0"/>
													<xs:element name="E-Mail" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="name"/>
															<xs:attribute name="address"/>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="URL" type="c:NonBlankString" minOccurs="0"/>
									</xs:sequence>
									<xs:attribute name="name" type="c:NonBlankString" use="required"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="PartNumber" minOccurs="0"/>
							<xs:element name="InstrumentVersion" type="c:NonBlankString" minOccurs="0"/>
							<xs:element name="Extension" type="c:ExtensionType" minOccurs="0"/>
							<xs:element name="Legalease">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Warranty">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="WarrantyTranfer"/>
												</xs:sequence>
												<xs:attribute name="period" type="xs:duration"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="License">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="LicenseTransfer"/>
												</xs:sequence>
												<xs:attribute name="keyRequired"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="Exportability"/>
										<xs:element name="Conformance"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Description"/>
				<xs:element name="Control" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Firmware" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="version" type="c:NonBlankString"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="Drivers" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Driver" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Type" type="DriverType"/>
													<xs:element name="Dependencies" minOccurs="0">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Firmware" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:attribute name="version" type="c:NonBlankString"/>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<xs:element name="Platform">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="OperatingSystem">
																	<xs:complexType>
																		<xs:attribute name="name" type="c:NonBlankString" use="required"/>
																		<xs:attribute name="version" type="c:NonBlankString"/>
																		<xs:attribute name="servicePack" type="c:NonBlankString"/>
																	</xs:complexType>
																</xs:element>
																<xs:element name="Processor" minOccurs="0">
																	<xs:complexType>
																		<xs:attribute name="speed" type="c:NonBlankString"/>
																	</xs:complexType>
																</xs:element>
																<xs:element name="PhysicalMemory">
																	<xs:complexType>
																		<xs:attribute name="minimum" type="c:NonBlankString"/>
																	</xs:complexType>
																</xs:element>
																<xs:element name="HardDisk">
																	<xs:complexType>
																		<xs:attribute name="minimum" type="c:NonBlankString"/>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<xs:element name="Extension" type="c:ExtensionType" minOccurs="0"/>
												</xs:sequence>
												<xs:attribute name="version" type="c:NonBlankString"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ControlLanguages">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ControlLanguage" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Tools" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Tool" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="name"/>
												<xs:attribute name="version"/>
												<xs:attribute name="filePath"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="BusType" type="BusType" maxOccurs="unbounded"/>
							<xs:element name="Extension" type="c:ExtensionType" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Documentation" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Document" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Extension" type="c:ExtensionType" minOccurs="0"/>
									</xs:sequence>
									<xs:attribute name="name" use="required"/>
									<xs:attribute name="URL"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Defaults" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Default" maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="c:ValueType">
											<xs:attribute name="name" type="c:NonBlankString"/>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="ConfigurationOptions" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Option" maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="c:ValueType">
											<xs:attribute name="name" type="c:NonBlankString"/>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Interface">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Port" maxOccurs="unbounded">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="Port">
											<xs:attribute name="location" type="xs:string" use="required"/>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Specifications" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Specification">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="Item">
											<xs:sequence>
												<xs:element name="Value" type="c:ValueType"/>
											</xs:sequence>
										</xs:extension>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="CalibrationRequirements" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="SupportEquipment" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="Procedure"/>
						</xs:sequence>
						<xs:attribute name="frequency" type="xs:duration" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="OperationalRequirements" minOccurs="0">
					<xs:complexType>
						<xs:attribute name="warmUpTime" type="xs:duration"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="Errors" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Error" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Description" type="xs:string"/>
									</xs:sequence>
									<xs:attribute name="type">
										<xs:annotation>
											<xs:documentation>Warning, error fatal</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="source">
										<xs:annotation>
											<xs:documentation>instrument, driver</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="id" type="c:NonBlankString" use="required"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Resources" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Resource" type="Resource" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Switching" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:choice maxOccurs="unbounded">
								<xs:element name="Switch" type="Switch"/>
								<xs:element name="CrossPointSwitch" type="CrossPointSwitch"/>
								<xs:element name="MatrixSwitch" type="MatrixSwitch"/>
							</xs:choice>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Triggers" minOccurs="0"/>
				<xs:element name="NetworkList" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Network" type="Network" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Extension" type="c:ExtensionType" minOccurs="0"/>
				<xs:element name="PhysicalCharacteristics" minOccurs="0">
					<xs:complexType>
						<xs:attribute name="weight"/>
						<xs:attribute name="height"/>
						<xs:attribute name="depth"/>
						<xs:attribute name="rackUSize"/>
					</xs:complexType>
				</xs:element>
			</xs:all>
			<xs:attribute name="name" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<!--Bus type is an abstract type from which specific bus types are derived.  The Instrument schema defines a number of standard instrument communication buses.-->
	<xs:complexType name="DriverType" abstract="true">
		<xs:attribute name="file" type="c:NonBlankString" use="required"/>
	</xs:complexType>
	<xs:complexType name="VPP">
		<xs:complexContent>
			<xs:extension base="DriverType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="IVI">
		<xs:complexContent>
			<xs:extension base="DriverType">
				<xs:sequence>
					<xs:element name="Class" type="c:NonBlankString" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Type">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="C" minOccurs="0"/>
								<xs:element name="COM" minOccurs="0">
									<xs:complexType>
										<xs:attribute name="progID" type="c:NonBlankString"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="COM">
		<xs:complexContent>
			<xs:extension base="DriverType">
				<xs:attribute name="progID" type="c:NonBlankString" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Win32">
		<xs:complexContent>
			<xs:extension base="DriverType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Composite">
		<xs:complexContent>
			<xs:extension base="DriverType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="BusType" abstract="true"/>
	<xs:complexType name="VXI">
		<xs:complexContent>
			<xs:extension base="BusType">
				<xs:sequence>
					<xs:element name="DynamicCurrent" type="VXIBackplaneVoltages">
						<xs:annotation>
							<xs:documentation>The amount of dynamic current in
amps consumed by the device on each of the VXI backplane voltage lines.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="PeakCurrent" type="VXIBackplaneVoltages">
						<xs:annotation>
							<xs:documentation>The amount of peak current in amps consumed by the device on each of the VXI backplane voltage lines.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ECLTrigger" type="VXITriggerLines">
						<xs:annotation>
							<xs:documentation>The number of ECL trigger lines concurrently input or sensed.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="TTLTrigger" type="VXITriggerLines">
						<xs:annotation>
							<xs:documentation>The number of TTL trigger lines concurrently input or sensed.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Keying">
						<xs:annotation>
							<xs:documentation>Identifies the keying class defined by the VXI specification.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:attribute name="bottomRight" use="required">
								<xs:simpleType>
									<xs:restriction base="xs:int">
										<xs:minInclusive value="1"/>
										<xs:maxInclusive value="9"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
							<xs:attribute name="bottomLeft" use="required">
								<xs:simpleType>
									<xs:restriction base="xs:int">
										<xs:minInclusive value="1"/>
										<xs:maxInclusive value="9"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
							<xs:attribute name="topRight" use="required">
								<xs:simpleType>
									<xs:restriction base="xs:int">
										<xs:minInclusive value="1"/>
										<xs:maxInclusive value="9"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
							<xs:attribute name="topLeft" use="required">
								<xs:simpleType>
									<xs:restriction base="xs:int">
										<xs:minInclusive value="1"/>
										<xs:maxInclusive value="9"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
					<xs:element name="ModuleCooling">
						<xs:complexType>
							<xs:attribute name="backPressure" type="xs:double" use="required">
								<xs:annotation>
									<xs:documentation>The module cooling as back pressure in mm/H2O</xs:documentation>
								</xs:annotation>
							</xs:attribute>
							<xs:attribute name="airFlow" type="xs:double" use="required">
								<xs:annotation>
									<xs:documentation>Represents Module Cooling as air flow in liters/sec.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="addressSpace" use="required">
					<xs:annotation>
						<xs:documentation>Identifies the type of VXI address space needed by the instrument or module in addition to A16.</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:NMTOKENS">
							<xs:enumeration value="A16"/>
							<xs:enumeration value="A24"/>
							<xs:enumeration value="A32"/>
							<xs:enumeration value="A64"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="deviceCategory" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:NMTOKENS">
							<xs:enumeration value="Message"/>
							<xs:enumeration value="Register"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="dynamicallyConfigured" type="xs:boolean" use="required"/>
				<xs:attribute name="interruptLines" type="xs:int" use="required">
					<xs:annotation>
						<xs:documentation>The number of interrupt lines utilized by a device.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="manufacturerID" type="xs:int" use="required"/>
				<xs:attribute name="modelCode" type="xs:int" use="required"/>
				<xs:attribute name="requiredMemory" type="xs:int" use="required"/>
				<xs:attribute name="slotSize" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:NMTOKENS">
							<xs:enumeration value="A"/>
							<xs:enumeration value="B"/>
							<xs:enumeration value="C"/>
							<xs:enumeration value="D"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="slotWeight" type="xs:double" use="required">
					<xs:annotation>
						<xs:documentation>The weight of the module in kilograms per slot occupied.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="slots" type="xs:int" use="required">
					<xs:annotation>
						<xs:documentation>The number of slots consumed.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VXIBackplaneVoltages">
		<xs:annotation>
			<xs:documentation>This type is used to store the amount of current in amps consumed by the device for each of the VXI backplane voltages.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="plus_12" type="xs:double" use="required"/>
		<xs:attribute name="plus_24" type="xs:double" use="required"/>
		<xs:attribute name="plus_5_standby" type="xs:double" use="required"/>
		<xs:attribute name="plus_5" type="xs:double" use="required"/>
		<xs:attribute name="minus_12" type="xs:double" use="required"/>
		<xs:attribute name="minus_24" type="xs:double" use="required"/>
		<xs:attribute name="minus_2" type="xs:double" use="required"/>
		<xs:attribute name="minus_5.2" type="xs:double" use="required"/>
	</xs:complexType>
	<xs:complexType name="VXITriggerLines">
		<xs:annotation>
			<xs:documentation>Used to specify the number of trigger concurrently input or sensed.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="source" type="xs:int" use="optional"/>
		<xs:attribute name="sense" type="xs:int" use="optional"/>
	</xs:complexType>
	<xs:complexType name="IEEE-488">
		<xs:complexContent>
			<xs:extension base="BusType">
				<xs:attribute name="defaultAddress" type="xs:int" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="VME"/>
	<xs:complexType name="Ethernet"/>
	<xs:complexType name="EIA-232"/>
	<xs:complexType name="USB"/>
	<xs:complexType name="IEEE-1394"/>
	<xs:complexType name="PXI">
		<xs:complexContent>
			<xs:extension base="BusType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Item">
		<xs:sequence>
			<xs:element name="Extension" type="c:ExtensionType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="RepeatedItem">
		<xs:complexContent>
			<xs:extension base="Item">
				<xs:attribute name="baseIndex" type="xs:int" use="required"/>
				<xs:attribute name="count" type="xs:int" use="required"/>
				<xs:attribute name="replacementCharacter" type="xs:string" use="optional" default="#"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Port">
		<xs:complexContent>
			<xs:extension base="Item"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Resource">
		<xs:complexContent>
			<xs:extension base="RepeatedItem">
				<xs:sequence>
					<xs:element name="Interface">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Port" type="Port" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Capabilities">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Capability" maxOccurs="unbounded">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Interface">
												<xs:complexType>
													<xs:sequence>
														<xs:element name="Port" type="Port" maxOccurs="unbounded"/>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:any namespace="##other" maxOccurs="unbounded"/>
										</xs:sequence>
										<xs:attribute name="ID" type="xs:string" use="required"/>
										<xs:attribute name="name" type="xs:string" use="optional"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Switch">
		<xs:complexContent>
			<xs:extension base="RepeatedItem">
				<xs:sequence>
					<xs:element name="Interface">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Port" type="Port" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Connections">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="RelaySetting" maxOccurs="unbounded">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="RelayConnection" minOccurs="0">
												<xs:complexType>
													<xs:attribute name="from" type="xs:string" use="required"/>
													<xs:attribute name="to" type="xs:string" use="required"/>
												</xs:complexType>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="name" type="xs:string"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CrossPointSwitch">
		<xs:complexContent>
			<xs:extension base="Item">
				<xs:sequence>
					<xs:element name="Columns">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Port" type="SwitchPort" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Rows">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Port" type="SwitchPort" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="lineCount" type="xs:int" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SwitchPort">
		<xs:complexContent>
			<xs:extension base="RepeatedItem">
				<xs:sequence>
					<xs:element name="Pin" maxOccurs="unbounded">
						<xs:complexType>
							<xs:complexContent>
								<xs:extension base="Port">
									<xs:attribute name="line" type="xs:int" use="required"/>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MatrixSwitch">
		<xs:complexContent>
			<xs:extension base="Item">
				<xs:sequence>
					<xs:element name="Columns">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Pin" type="MatrixPort" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Rows">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Pin" type="MatrixPort" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="MatrixPort">
		<xs:complexContent>
			<xs:extension base="RepeatedItem"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Network">
		<xs:annotation>
			<xs:documentation>Describes how the various instrument entities are connected.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="RepeatedItem">
				<xs:sequence>
					<xs:element name="Node" type="NetworkNode" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="NetworkNode">
		<xs:complexContent>
			<xs:extension base="Item">
				<xs:attribute name="parent" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>
