<?xml version = "1.0" encoding = "UTF-8"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" 
	 version = "2004-11-08">
	<xsd:element name = "ProcessSessionStart">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Product"/>
				<xsd:element ref = "Entity"/>
				<xsd:element ref = "Recipe" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "Operator" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "FixtureTooling" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "Extensions" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "dateTime" use = "required" type = "xsd:dateTime"/>
			<xsd:attribute name = "sessionId" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "shift" use = "optional" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Product">
		<xsd:complexType>
			<xsd:attribute name = "itemType" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "itemClass" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "boardRevison" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "assemblyRevision" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "workOrder" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "batch" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "lot" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "count" use = "optional" type = "xsd:positiveInteger"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Entity">
		<xsd:complexType>
			<xsd:attribute name = "stationId" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "stage" use = "required">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:string">
						<xsd:enumeration value = "MVI"/>
						<xsd:enumeration value = "ALI"/>
						<xsd:enumeration value = "AOI"/>
						<xsd:enumeration value = "MXI"/>
						<xsd:enumeration value = "AXI"/>
						<xsd:enumeration value = "MDA"/>
						<xsd:enumeration value = "FPT"/>
						<xsd:enumeration value = "ICT"/>
						<xsd:enumeration value = "FNT"/>
						<xsd:enumeration value = "INT"/>
						<xsd:enumeration value = "SYS"/>
						<xsd:enumeration value = "OLT"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "stationRevision" type = "xsd:string"/>
			<xsd:attribute name = "subStage" type = "xsd:string"/>
			<xsd:attribute name = "line" type = "xsd:string"/>
			<xsd:attribute name = "building" type = "xsd:string"/>
			<xsd:attribute name = "site" type = "xsd:string"/>
			<xsd:attribute name = "enterprise" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Recipe">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "RecipeModule" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
			<xsd:attribute name = "recipeId" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "zoneList" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "laneList" use = "optional" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "RecipeModule">
		<xsd:complexType>
			<xsd:attribute name = "moduleId" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "revision" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "type" use = "optional">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:string">
						<xsd:enumeration value = "ALGORITHM"/>
						<xsd:enumeration value = "CONFIGURATION"/>
						<xsd:enumeration value = "DOCUMENTATION"/>
						<xsd:enumeration value = "EXECUTIVE"/>
						<xsd:enumeration value = "FIRMWARE"/>
						<xsd:enumeration value = "LIMITS"/>
						<xsd:enumeration value = "SEQUENCE"/>
						<xsd:enumeration value = "SETUP"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Operator">
		<xsd:complexType>
			<xsd:attribute name = "employeeId" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "givenName" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "familyName" use = "optional" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "FixtureTooling">
		<xsd:complexType>
			<xsd:attribute name = "fixtureId" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "revision" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "serialNumber" use = "optional" type = "xsd:string"/>
			<xsd:attribute name = "type" use = "optional" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Extensions" type = "xsd:anyType"/>
</xsd:schema>