<?xml version='1.0' encoding='UTF-8'?>
<xsd:schema elementFormDefault='qualified' attributeFormDefault='unqualified' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  <xsd:element name='EquipmentAlarm'>
    <xsd:annotation>
      <xsd:documentation>IPC-2541</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs='0'>
          <xsd:element ref='EquipmentOutOfItem'/>
          <xsd:element ref='EquipmentSubsystemCaution'/>
          <xsd:element ref='ItemDidNotTransferSuccessfullyFa'/>
          <xsd:element ref='ItemFailure'/>
          <xsd:element ref='ItemMispick'/>
          <xsd:element ref='ItemPlacementFailure'/>
          <xsd:element ref='ItemRecognitionFailureFa'/>
          <xsd:element ref='MaterialHandlerLowFa'/>
          <xsd:element ref='MaterialHandlerOutOfItemsFa'/>
          <xsd:element ref='MaterialHandlerProblemFa'/>
          <xsd:element ref='ProcessParameterCaution'/>
        </xsd:choice>
        <xsd:element minOccurs='0' ref='Extensions'/>
      </xsd:sequence>
      <xsd:attribute name='dateTime' type='xsd:dateTime' use='required'/>
      <xsd:attribute name='alarmId' type='xsd:string' use='required'/>
      <xsd:attribute name='alarmInstanceId' type='xsd:string' use='required'/>
      <xsd:attribute name='alarmType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='PERSONALSAFETY'/>
            <xsd:enumeration value='EQUIPMENTSAFETY'/>
            <xsd:enumeration value='ITEMSAFETY'/>
            <xsd:enumeration value='PARAMETERCONTROLALARM'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='laneList' type='xsd:string' use='required'/>
      <xsd:attribute name='zoneList' type='xsd:string' use='required'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Item' abstract='true' type='ITEM_TYPE'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name='ITEM_TYPE' abstract='true'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element maxOccurs='unbounded' ref='ItemIdentifier'/>
      <xsd:element minOccurs='0' ref='BoundBox'/>
    </xsd:sequence>
    <xsd:attribute name='itemType' type='xsd:string' use='required'/>
  </xsd:complexType>
  <xsd:element name='Container' type='CONTAINER_TYPE' substitutionGroup='Item'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name='ComponentFa' type='COMPONENT_FA_TYPE' substitutionGroup='Item'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name='ItemIdentifier'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='idType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='UNIQUE'/>
            <xsd:enumeration value='NONUNIQUE'/>
            <xsd:enumeration value='BULK'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='idCategory' type='xsd:string' use='required'/>
      <xsd:attribute name='identifier' type='xsd:string' use='required'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='BoundBox'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='diagonalX' type='xsd:double' use='required'/>
      <xsd:attribute name='diagonalY' type='xsd:double' use='required'/>
      <xsd:attribute name='diagonalZ' type='xsd:double' use='required'/>
      <xsd:attribute name='units' type='xsd:string' use='required'/>
      <xsd:attribute name='decade' default='0' type='xsd:double' use='optional'/>
      <xsd:attribute name='rotationX' type='xsd:double' use='optional'/>
      <xsd:attribute name='rotationY' type='xsd:double' use='optional'/>
      <xsd:attribute name='rotationZ' type='xsd:double' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name='CONTAINER_TYPE'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base='ITEM_TYPE'>
        <xsd:sequence>
          <xsd:element maxOccurs='unbounded' minOccurs='0' ref='ContainerPosition'/>
        </xsd:sequence>
        <xsd:attribute name='routeInformation' type='xsd:NMTOKENS' use='optional'/>
        <xsd:attribute name='routeIndex' type='xsd:NMTOKEN' use='optional'/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name='ContainerPosition'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Item'/>
      </xsd:sequence>
      <xsd:attribute name='designator' type='xsd:string' use='required'/>
      <xsd:attribute name='containerPositionType' type='xsd:string' use='required'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name='COMPONENT_FA_TYPE'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base='ITEM_TYPE'>
        <xsd:sequence>
          <xsd:element maxOccurs='unbounded' minOccurs='0' ref='ComponentFa'/>
        </xsd:sequence>
        <xsd:attribute name='designator' type='xsd:string' use='optional'/>
        <xsd:attribute name='imageId' type='xsd:string' use='optional'/>
        <xsd:attribute name='recognitionReference' type='xsd:string' use='optional'/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name='MachineError'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/0</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='Subsystem'/>
      </xsd:sequence>
      <xsd:attribute name='vendorErrorCode' type='xsd:string' use='optional'/>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Subsystem'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/0</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='subsystemType' type='xsd:string' use='required'/>
      <xsd:attribute name='subsystemId' type='xsd:string' use='required'/>
      <xsd:attribute name='revision' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Recipe'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/0</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='recipeId' type='xsd:string' use='required'/>
      <xsd:attribute name='revision' type='xsd:string' use='optional'/>
      <xsd:attribute name='laneList' type='xsd:string' use='optional'/>
      <xsd:attribute name='zoneList' type='xsd:string' use='optional'/>
      <xsd:attribute name='recipeStep' type='xsd:string' use='optional'/>
      <xsd:attribute name='command' type='xsd:string' use='optional'/>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='EndEffector'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='endEffectorType' type='xsd:string' use='required'/>
      <xsd:attribute name='endEffectorBaseId' type='xsd:string' use='required'/>
      <xsd:attribute name='endEffectorToolId' type='xsd:string' use='optional'/>
      <xsd:attribute name='endEffectorSegmentId' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerFa'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element name='Feeder'>
          <xsd:complexType>
            <xsd:attribute name='trackId' type='xsd:positiveInteger' use='required'/>
            <xsd:attribute name='materialHandlerTableId' type='xsd:string' use='optional'/>
          </xsd:complexType>
        </xsd:element>
        <xsd:element name='TrayFeeder'>
          <xsd:complexType>
            <xsd:attribute name='trayFeederTower' type='xsd:positiveInteger' use='required'/>
            <xsd:attribute name='traySection' type='xsd:string' use='required'/>
            <xsd:attribute name='trayFeederLocation' type='xsd:positiveInteger' use='optional'/>
            <xsd:attribute name='trayId' type='xsd:string' use='optional'/>
          </xsd:complexType>
        </xsd:element>
      </xsd:choice>
      <xsd:attribute name='materialSupplyArea' type='xsd:string' use='required'/>
      <xsd:attribute name='feederType' type='xsd:string' use='required'/>
      <xsd:attribute name='feederDivision' type='xsd:string' use='required'/>
      <xsd:attribute name='feederId' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Fiducial'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/0</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='designator' type='xsd:string' use='required'/>
      <xsd:attribute name='imageId' type='xsd:string' use='optional'/>
      <xsd:attribute name='imageType' type='IMAGE_TYPE' use='optional'/>
      <xsd:attribute name='imageShape' type='xsd:string' use='optional'/>
      <xsd:attribute name='recognitionReference' type='xsd:string' use='optional'/>
      <xsd:attribute name='score' type='xsd:positiveInteger' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:simpleType name='IMAGE_TYPE'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/0</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base='xsd:string'>
      <xsd:enumeration value='LOCAL'/>
      <xsd:enumeration value='GLOBAL'/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:element name='DataNumeric'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='application' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='MEASURED'/>
            <xsd:enumeration value='EXPECTED'/>
            <xsd:enumeration value='ALARMLIMITS'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='units' type='xsd:string' use='required'/>
      <xsd:attribute name='decade' type='xsd:double' use='optional'/>
      <xsd:attribute name='value' type='xsd:double' use='optional'/>
      <xsd:attribute name='minimum' type='xsd:double' use='optional'/>
      <xsd:attribute name='maximum' type='xsd:double' use='optional'/>
      <xsd:attribute name='comparator' use='optional'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='EQ'/>
            <xsd:enumeration value='NE'/>
            <xsd:enumeration value='GT'/>
            <xsd:enumeration value='LT'/>
            <xsd:enumeration value='GE'/>
            <xsd:enumeration value='LE'/>
            <xsd:enumeration value='GTLT'/>
            <xsd:enumeration value='GELE'/>
            <xsd:enumeration value='GTLE'/>
            <xsd:enumeration value='GELT'/>
            <xsd:enumeration value='LTGT'/>
            <xsd:enumeration value='LEGE'/>
            <xsd:enumeration value='LTGE'/>
            <xsd:enumeration value='LEGT'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='position' type='xsd:NMTOKENS' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='EquipmentOutOfItem'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='Item'/>
      </xsd:sequence>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='EquipmentSubsystemCaution'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MachineError'/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemDidNotTransferSuccessfullyFa'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Item'/>
        <xsd:element minOccurs='0' ref='Recipe'/>
      </xsd:sequence>
      <xsd:attribute name='cautionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='TIMEOUT'/>
            <xsd:enumeration value='JAM'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='itemType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='CONTAINER'/>
            <xsd:enumeration value='COMPONENT'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemFailure'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='Item'/>
        <xsd:element minOccurs='0' ref='EndEffector'/>
        <xsd:element minOccurs='0' ref='MaterialHandlerFa'/>
        <xsd:element minOccurs='0' ref='Recipe'/>
      </xsd:sequence>
      <xsd:attribute name='cautionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='OUTOFSPECIFICATION'/>
            <xsd:enumeration value='OUTOFTOLERANCE'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemMispick'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='EndEffector'/>
        <xsd:element ref='MaterialHandlerFa'/>
        <xsd:element ref='Item'/>
        <xsd:element minOccurs='0' ref='Recipe'/>
      </xsd:sequence>
      <xsd:attribute name='cautionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='MISSINGITEM'/>
            <xsd:enumeration value='MISALIGNEDITEM'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemPlacementFailure'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='EndEffector'/>
        <xsd:element ref='Item'/>
        <xsd:element minOccurs='0' ref='MaterialHandlerFa'/>
        <xsd:element minOccurs='0' ref='Recipe'/>
        <xsd:element name='TargetItem' minOccurs='0'>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element ref='Item'/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name='cautionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='LOSTDURINGMOVEMENT'/>
            <xsd:enumeration value='LOST'/>
            <xsd:enumeration value='MISPLACED'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
      <xsd:attribute name='recipeStep' type='xsd:string' use='optional'/>
      <xsd:attribute name='targetDesignator' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemRecognitionFailureFa'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Item'/>
        <xsd:element minOccurs='0' ref='Fiducial'/>
        <xsd:element minOccurs='0' ref='Subsystem'/>
        <xsd:element minOccurs='0' ref='Recipe'/>
      </xsd:sequence>
      <xsd:attribute name='cautionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='BADMEASUREMENT'/>
            <xsd:enumeration value='READERROR'/>
            <xsd:enumeration value='IDENTIFIERNOTFOUND'/>
            <xsd:enumeration value='IDENTIFIERMISMATCH'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='itemType' use='optional'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='CONTAINER'/>
            <xsd:enumeration value='COMPONENT'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerLowFa'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandlerFa'/>
        <xsd:element minOccurs='0' ref='Item'/>
      </xsd:sequence>
      <xsd:attribute name='cautionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='MEASUREDMATERIALHANDLERLOW'/>
            <xsd:enumeration value='ESTIMATEDMATERIALHANDLERLOW'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='estimatedTimeTillEndOfComponents' type='xsd:duration' use='optional'/>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
      <xsd:attribute name='numberOfComponentsLeft' type='xsd:nonNegativeInteger' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerOutOfItemsFa'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandlerFa'/>
        <xsd:element ref='Item'/>
      </xsd:sequence>
      <xsd:attribute name='decrementMispickCount' type='xsd:positiveInteger' use='optional'/>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerProblemFa'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandlerFa'/>
        <xsd:element minOccurs='0' ref='Item'/>
      </xsd:sequence>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ProcessParameterCaution'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/9</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs='unbounded' minOccurs='2' ref='DataNumeric'/>
      </xsd:sequence>
      <xsd:attribute name='nameId' type='xsd:string' use='required'/>
      <xsd:attribute name='instanceId' type='xsd:string' use='optional'/>
      <xsd:attribute name='description' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Extensions' type='xsd:anyType'/>
</xsd:schema>