<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Alexandre Klementiev (UIUC Department of Computer Science) -->
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Thomas  Gaskins (private) -->
<!--W3C Schema generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="Abstract">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="href" type="xs:anyURI" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Author">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="href" type="xs:anyURI" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ControlDescriptor">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DisplayString" minOccurs="0"/>
				<xs:element ref="Description" minOccurs="0"/>
				<xs:element ref="Param" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN"/>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="idref" type="xs:NMTOKEN" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ControlState">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Description" minOccurs="0"/>
				<xs:element ref="DisplayString"/>
				<xs:element ref="ControlDescriptor"/>
				<xs:element ref="ControlStates" minOccurs="0"/>
				<xs:element ref="ImageDescriptor" minOccurs="0"/>
				<xs:element ref="Param" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="pathPart" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ControlStates">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ControlState" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN"/>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="idref" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN"/>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="Copyright">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="href" type="xs:anyURI" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Description">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="href" type="xs:anyURI" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="DisplayString" type="xs:string"/>
	<xs:element name="ImageDescriptor">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TileSize" minOccurs="0"/>
				<xs:element ref="PixelSize" minOccurs="0"/>
				<xs:element ref="ImageSize" minOccurs="0"/>
				<xs:element ref="Param" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN"/>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="idref" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN"/>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="ImageSize">
		<xs:complexType>
			<xs:attribute name="width" type="xs:int" use="required"/>
			<xs:attribute name="height" type="xs:int" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="InfoRef">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="href" type="xs:anyURI" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="InstrumentDescriptor">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DisplayString"/>
				<xs:element ref="Description" minOccurs="0"/>
				<xs:element ref="InfoRef" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="ControlDescriptor" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="Param" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:NMTOKEN" use="optional"/>
			<xs:attribute name="idref" type="xs:NMTOKEN" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Param">
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="value" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="PixelSize">
		<xs:complexType>
			<xs:attribute name="width" type="xs:float" use="required"/>
			<xs:attribute name="height" type="xs:float" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Root">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ControlStates"/>
			</xs:sequence>
			<xs:attribute name="pathPart" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Specimen">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="UniqueName"/>
				<xs:element ref="DisplayString"/>
				<xs:element ref="Description" minOccurs="0"/>
				<xs:element ref="Abstract" minOccurs="0"/>
				<xs:element ref="Author" minOccurs="0"/>
				<xs:element ref="Copyright" minOccurs="0"/>
				<xs:element ref="Version"/>
				<xs:element ref="Thumbnail" minOccurs="0"/>
				<xs:element ref="Param" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="InstrumentDescriptor" maxOccurs="unbounded"/>
				<xs:element ref="ImageDescriptor" maxOccurs="unbounded"/>
				<xs:element ref="ControlDescriptor" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="ControlStates" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="Root"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Thumbnail" type="xs:string"/>
	<xs:element name="TileSize">
		<xs:complexType>
			<xs:attribute name="width" type="xs:int" use="required"/>
			<xs:attribute name="height" type="xs:int" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="UniqueName" type="xs:string"/>
	<xs:element name="Version" type="xs:string"/>
</xs:schema>
