<?xml version="1.0" encoding="windows-1252"?>
<!-- Copyright Wildpackets, Inc 2001 -->
<xsd:schema	
	xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" 
	elementFormDefault="qualified">

	<xsd:element name="ProtoSpecTable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ColorTable"/>
				<xsd:element ref="PSpec" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="Version" type="xsd:decimal" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ColorTable">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ColorDef" maxOccurs="65535"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="PSpec">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="PSpecID" minOccurs="1" maxOccurs="1"/>
				<xsd:element ref="LName" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="SName" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="NameID" minOccurs="1" maxOccurs="1"/>
				<xsd:element ref="Parent" minOccurs="1" maxOccurs="1"/>
				<xsd:element ref="Color" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="Desc" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="DescID" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="Cond" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="PSpec" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="Name" type="xsd:string" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ColorDef">
		<xsd:complexType>
			<xsd:attribute name="Name" type="xsd:string" use="required"/>
			<!-- maxValue = 0xffffff -->
			<xsd:attribute name="RGB" type="hexORdecimal" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Color">
		<xsd:complexType>
			<xsd:attribute name="Name" type="xsd:string" use="required"/>
			<!-- maxValue = 0xffffff -->
			<xsd:attribute name="RGB" type="hexORdecimal" use="optional"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DescID" type="xsd:decimal"/>
	<xsd:element name="Desc" type="xsd:string"/>
	<xsd:element name="NameID" type="xsd:decimal"/>
	<xsd:element name="LName" type="xsd:string"/>
	<xsd:element name="SName" type="xsd:string"/>
	<xsd:element name="PSpecID" type="xsd:decimal"/>
	<xsd:element name="Parent">
		<xsd:complexType>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="ID" type="xsd:decimal" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Cond">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="OVM" minOccurs="1" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="OVM">
		<xsd:complexType>
			<!-- "Offset" maxValue = 0xffff -->
			<xsd:attribute name="Offset" type="hexORdecimal" use="required"/>
			<!-- "Mask" maxValue = 0xff -->
			<xsd:attribute name="Mask" type="hexORdecimal" use="optional"/>
			<!-- "Value" maxValue = 0xff -->
			<xsd:attribute name="Value" type="hexORdecimal" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:simpleType name="hexORdecimal" id="hexORdecimal">
		<xsd:restriction base="xsd:string">
 			<xsd:pattern value="(((0X|0x)([0-9]|[a-f]|[A-F])+)|[0-9]+)"/>
		</xsd:restriction>
		<!--The hexORdecimal type  is a number in the following format:
  0x1234 or 0X1234 : hexadecimal number 1234 (equivalent to decimal 4660)
    1234           : decimal 1234
    01234          : octal 1234 (equivalent to decimal 668)-->
	</xsd:simpleType>
</xsd:schema>
