<?xml version="1.0" encoding="UTF-8"?>
<!-- ENDA Medium Resolution Schema (Restricts types, but does not enumerate values) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Requirement">
		<xs:complexType>
			<xs:attribute name="Name" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="PCImageFile">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="OemAbbreviation">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
  <xs:element name="ModelId">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="1000"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="ModelId_109">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="1000"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="ModelIdColor">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="1000"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="ModelIdColor109">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="1000"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="Name">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="MicrosoftHardwareDevices">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Device" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="Version" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="8"/>
						
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Copyright" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="256"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="Id">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="HWID">
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:element ref="CollectionList" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="Category">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Type" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="EventList">
		<xs:complexType mixed="true">
			<xs:sequence minOccurs="0">
				<xs:element ref="Event" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="EventImage">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="EventIcon">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Event">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Id"/>
				<xs:choice>
					<xs:element ref="DefaultCommand"/>
					<xs:sequence>
						<xs:element ref="DisplayName"/>
						<xs:choice>
							<xs:element ref="EventIcon"/>
							<xs:element ref="EventImage"/>
						</xs:choice>
						<xs:element ref="DefaultCommand" maxOccurs="unbounded"/>
						<xs:element ref="Capability" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DisplayName">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Device">
		<xs:complexType>
			<xs:choice>
				<xs:sequence>
					<xs:element ref="Name"/>
					<xs:choice>
						<xs:sequence>
							<xs:element ref="OemAbbreviation"/>
							<xs:element ref="ModelId" minOccurs="0"/>
              <xs:element ref="ModelIdColor" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element ref="ModelId_109" minOccurs="0"/>
             	<xs:element ref="ModelIdColor109" minOccurs="0" maxOccurs="unbounded"/>
							<xs:choice>
								<xs:sequence>
									<xs:element ref="PCImageFile"/>
									<xs:sequence minOccurs="0">
										<xs:element ref="Characteristic" minOccurs="0" maxOccurs="unbounded"/>
										<xs:element ref="Requirement"/>
									</xs:sequence>
									<xs:element ref="EventList" maxOccurs="1"/>
								</xs:sequence>
								<xs:sequence>
									<xs:element ref="HWID" maxOccurs="unbounded"/>
									<xs:element ref="PCImageFile"/>
									<xs:choice>
										<xs:sequence>
											<xs:element ref="Requirement" minOccurs="0"/>
											<xs:element ref="EventList" maxOccurs="1"/>
										</xs:sequence>
										<xs:sequence>
											<xs:element ref="Characteristic" maxOccurs="unbounded"/>
											<xs:element ref="Requirement" minOccurs="0" maxOccurs="unbounded"/>
											<xs:element ref="EventList" maxOccurs="1"/>
										</xs:sequence>
									</xs:choice>
								</xs:sequence>
							</xs:choice>
						</xs:sequence>
						<xs:sequence>
							<xs:element ref="HWID" maxOccurs="unbounded"/>
							<xs:element ref="PCImageFile"/>
							<xs:element ref="Requirement"/>
							<xs:element ref="EventList" maxOccurs="1"/>
						</xs:sequence>
					</xs:choice>
				</xs:sequence>
				<xs:sequence>
					<xs:element ref="HWID" maxOccurs="unbounded"/>
					<xs:element ref="Characteristic" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:choice>
			<xs:attribute name="Type" type="xs:string" use="required"/>
			<xs:attribute name="ID" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="DefaultCommand">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="Requirement">
						<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:maxLength value="1000"/>
								<xs:enumeration value="flip3d_support"/>
	                                			<xs:enumeration value="favorite_bar_support"/>
	                                			<xs:enumeration value="flip_support"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="CollectionList">
		<xs:complexType>
			<xs:sequence minOccurs="0">
				<xs:element ref="Collection" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CollectionId">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="InterfaceId">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CollectionFeature">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="1000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Collection">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CollectionId" minOccurs="0"/>
				<xs:element ref="InterfaceId" minOccurs="0"/>
				<xs:element ref="CollectionFeature" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Characteristic">
		<xs:complexType>
			<xs:attribute name="Value" use="optional">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Name" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="Capability">
		<xs:complexType>
			<xs:attribute name="Name" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>
