<?xml version='1.0' encoding='UTF-8'?>
<xsd:schema elementFormDefault='qualified' attributeFormDefault='unqualified' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  <xsd:element name='EquipmentWarning'>
    <xsd:annotation>
      <xsd:documentation>IPC-2541</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs='0'>
          <xsd:element ref='InspectionWarning'/>
          <xsd:element ref='MonitoringLimitZoneTransition'/>
          <xsd:element ref='PrinterConsumablesExpired'/>
          <xsd:element ref='PrinterConsumablesLow'/>
          <xsd:element ref='ItemDidNotTransferSuccessfully'/>
          <xsd:element ref='ItemRecognitionFailure'/>
          <xsd:element ref='MaterialHandlerDivisionDown'/>
          <xsd:element ref='MaterialHandlerInstalled'/>
          <xsd:element ref='MaterialHandlerLow'/>
          <xsd:element ref='MaterialHandlerOutOfComponent'/>
          <xsd:element ref='MaterialHandlerTrouble'/>
          <xsd:element ref='MaterialHandlerUninstalled'/>
          <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='warningId' type='xsd:string' use='required'/>
      <xsd:attribute name='warningInstanceId' type='xsd:string' use='required'/>
      <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='Component'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='componentId' type='xsd:string' use='required'/>
      <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:attribute name='partId' type='xsd:string' use='optional'/>
      <xsd:attribute name='package' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Parameter'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/0</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='nameId' type='xsd:string' use='required'/>
      <xsd:attribute name='value' type='xsd:double' use='required'/>
      <xsd:attribute name='units' type='xsd:string' use='required'/>
      <xsd:attribute name='nominal' 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='increment' type='xsd:double' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name='Sceleton_IPC-2546_1_EquipmentWarning'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/1</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element minOccurs='0' ref='Subsystem'/>
    </xsd:sequence>
    <xsd:attribute name='description' type='xsd:string' use='required'/>
    <xsd:attribute name='vendorWarningCode' type='xsd:string' use='optional'/>
  </xsd:complexType>
  <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='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:simpleType name='messageInitiatorType'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base='xsd:string'>
      <xsd:enumeration value='OPERATOR'/>
      <xsd:enumeration value='HOST'/>
      <xsd:enumeration value='AUTOMATIC'/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:element name='MaterialHandler'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attribute name='materialSupplyArea' type='xsd:string' use='required'/>
      <xsd:attribute name='trackId' type='xsd:positiveInteger' use='required'/>
      <xsd:attribute name='materialHandlerType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='FEEDER'/>
            <xsd:enumeration value='TRAYSERVER'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='feederType' type='xsd:string' use='required'/>
      <xsd:attribute name='feederDivision' type='xsd:string' use='required'/>
      <xsd:attribute name='trayServerType' type='xsd:string' use='optional'/>
      <xsd:attribute name='trayServerTower' type='xsd:positiveInteger' use='optional'/>
      <xsd:attribute name='trayServerLocation' type='xsd:positiveInteger' use='optional'/>
      <xsd:attribute name='traySection' type='xsd:string' use='optional'/>
      <xsd:attribute name='trayDivision' type='xsd:string' use='optional'/>
      <xsd:attribute name='partId' type='xsd:string' use='optional'/>
      <xsd:attribute name='materialHandlerTableId' type='xsd:string' use='optional'/>
    </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='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='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='InspectionWarning'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/1</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs='unbounded' ref='ProcessStepStatus'/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ProcessStepStatus'>
    <xsd:annotation>
      <xsd:documentation>IPC-2547</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Error'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Symptom'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Indictment'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='RegionOfInterest'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Measurement'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Component'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Signal'/>
      </xsd:sequence>
      <xsd:attribute name='dateTime' type='xsd:dateTime' use='required'/>
      <xsd:attribute name='itemInstanceId' type='xsd:string' use='required'/>
      <xsd:attribute name='sessionRef' type='xsd:string' use='required'/>
      <xsd:attribute name='itemProcessRef' type='xsd:string' use='required'/>
      <xsd:attribute name='processStepId' type='xsd:string' use='required'/>
      <xsd:attribute name='status' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='ERROR'/>
            <xsd:enumeration value='FAILED'/>
            <xsd:enumeration value='NOTEST'/>
            <xsd:enumeration value='PASSED'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='imageId' type='xsd:string'/>
      <xsd:attribute name='sequence' type='xsd:positiveInteger'/>
      <xsd:attribute name='comment' type='xsd:string'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Error'>
    <xsd:complexType>
      <xsd:attribute name='errorId' type='xsd:string' use='required'/>
      <xsd:attribute name='description' type='xsd:string'/>
      <xsd:attribute name='recipeRef' type='xsd:string'/>
      <xsd:attribute name='moduleRef' type='xsd:string'/>
      <xsd:attribute name='recipeStep' type='xsd:string'/>
      <xsd:attribute name='lane' type='xsd:string'/>
      <xsd:attribute name='zone' type='xsd:string'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Symptom'>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='MeasurementRef'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='RegionRef'/>
      </xsd:sequence>
      <xsd:attribute name='symptomId' type='xsd:string' use='required'/>
      <xsd:attribute name='symptomKey' type='xsd:string' use='required'/>
      <xsd:attribute name='category' type='xsd:string'/>
      <xsd:attribute name='description' type='xsd:string'/>
      <xsd:attribute name='confidence'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:nonNegativeInteger'>
            <xsd:maxInclusive value='100'/>
            <xsd:minInclusive value='0'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Indictment'>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='MeasurementRef'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='RegionRef'/>
      </xsd:sequence>
      <xsd:attribute name='indictmentId' type='xsd:string' use='required'/>
      <xsd:attribute name='indictmentKey' type='xsd:string' use='required'/>
      <xsd:attribute name='category' type='xsd:string'/>
      <xsd:attribute name='description' type='xsd:string'/>
      <xsd:attribute name='priority' type='xsd:positiveInteger'/>
      <xsd:attribute name='confidence'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:nonNegativeInteger'>
            <xsd:maxInclusive value='100'/>
            <xsd:minInclusive value='0'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='RegionOfInterest'>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Region'/>
        <xsd:element minOccurs='0' ref='Point'/>
        <xsd:element minOccurs='0' ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='regionId' type='xsd:string' use='required'/>
      <xsd:attribute name='frameRef' type='xsd:string'/>
      <xsd:attribute name='layer' type='xsd:string'/>
      <xsd:attribute name='status'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='PASSED'/>
            <xsd:enumeration value='FAILED'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Measurement'>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice>
          <xsd:element maxOccurs='unbounded' minOccurs='0' ref='MeasuredNumeric'/>
          <xsd:element maxOccurs='unbounded' minOccurs='0' ref='MeasuredOctet'/>
        </xsd:choice>
        <xsd:choice>
          <xsd:element maxOccurs='unbounded' minOccurs='0' ref='ExpectedNumeric'/>
          <xsd:element maxOccurs='unbounded' minOccurs='0' ref='ExpectedOctet'/>
        </xsd:choice>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Component'/>
        <xsd:element maxOccurs='unbounded' minOccurs='0' ref='Signal'/>
      </xsd:sequence>
      <xsd:attribute name='measurementId' type='xsd:string' use='required'/>
      <xsd:attribute name='mode' type='xsd:string'/>
      <xsd:attribute name='type' type='xsd:string'/>
      <xsd:attribute name='sequence' type='xsd:positiveInteger'/>
      <xsd:attribute name='status'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='PASSED'/>
            <xsd:enumeration value='FAILED'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Signal'>
    <xsd:complexType>
      <xsd:attribute name='signalId' type='xsd:string' use='required'/>
      <xsd:attribute name='imageId' type='xsd:string'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MeasurementRef' type='xsd:string'/>
  <xsd:element name='RegionRef' type='xsd:string'/>
  <xsd:element name='Region'>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Orientation'/>
      </xsd:sequence>
      <xsd:attribute name='point1X' type='xsd:double' use='required'/>
      <xsd:attribute name='point1Y' type='xsd:double' use='required'/>
      <xsd:attribute name='point2X' type='xsd:double'/>
      <xsd:attribute name='point2Y' type='xsd:double'/>
      <xsd:attribute name='diameter' type='xsd:double'/>
      <xsd:attribute name='units' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='MM'/>
            <xsd:enumeration value='INCH'/>
            <xsd:enumeration value='PIXEL'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='decade' type='xsd:double'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Point'>
    <xsd:complexType>
      <xsd:attribute name='pointX' type='xsd:double' use='required'/>
      <xsd:attribute name='pointY' type='xsd:double' use='required'/>
      <xsd:attribute name='units' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='MM'/>
            <xsd:enumeration value='INCH'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='decade' type='xsd:double'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='Orientation'>
    <xsd:complexType>
      <xsd:attribute name='value' type='xsd:double' use='required'/>
      <xsd:attribute name='units' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='DEGREES'/>
            <xsd:enumeration value='RADIANS'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MeasuredNumeric'>
    <xsd:complexType>
      <xsd:attribute name='value' type='xsd:double' use='required'/>
      <xsd:attribute name='units' type='xsd:string'/>
      <xsd:attribute name='decade' type='xsd:double'/>
      <xsd:attribute name='position' type='xsd:string'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MeasuredOctet'>
    <xsd:complexType>
      <xsd:attribute name='value' type='xsd:string' use='required'/>
      <xsd:attribute name='position' type='xsd:string'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ExpectedNumeric'>
    <xsd:complexType>
      <xsd:attribute name='nominal' type='xsd:double'/>
      <xsd:attribute name='units' type='xsd:string'/>
      <xsd:attribute name='decade' type='xsd:double'/>
      <xsd:attribute name='minimum' type='xsd:double'/>
      <xsd:attribute name='maximum' type='xsd:double'/>
      <xsd:attribute name='position' type='xsd:string'/>
      <xsd:attribute name='comparator'>
        <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:complexType>
  </xsd:element>
  <xsd:element name='ExpectedOctet'>
    <xsd:complexType>
      <xsd:attribute name='value' type='xsd:string' use='required'/>
      <xsd:attribute name='position' type='xsd:string'/>
      <xsd:attribute name='caseSensitive' type='xsd:boolean'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MonitoringLimitZoneTransition'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/1</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Parameter'/>
      </xsd:sequence>
      <xsd:attribute name='nameId' type='xsd:string' use='required'/>
      <xsd:attribute name='transitionType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='LOWERTOUPPER'/>
            <xsd:enumeration value='UPPERTOLOWER'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='upperDeadBand' type='xsd:double' use='optional'/>
      <xsd:attribute name='lowerDeadBand' type='xsd:double' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='PrinterConsumablesExpired'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/1</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base='Sceleton_IPC-2546_1_EquipmentWarning'/>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='PrinterConsumablesLow'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/1</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base='Sceleton_IPC-2546_1_EquipmentWarning'/>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemDidNotTransferSuccessfully'>
    <xsd:annotation>
      <xsd:documentation>IPC-2456/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='0' ref='Recipe'/>
      </xsd:sequence>
      <xsd:attribute name='warningType' 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='itemInstanceId' type='xsd:string' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='ItemRecognitionFailure'>
    <xsd:annotation>
      <xsd:documentation>IPC-2456/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='Fiducial'/>
        <xsd:element minOccurs='0' ref='Subsystem'/>
        <xsd:element minOccurs='0' ref='Recipe'/>
      </xsd:sequence>
      <xsd:attribute name='warningType' use='required'>
        <xsd:simpleType>
          <xsd:restriction base='xsd:string'>
            <xsd:enumeration value='MissingFiducial'/>
            <xsd:enumeration value='BadMeasurement'/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
      <xsd:attribute name='itemInstanceId' type='xsd:string' use='required'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerDivisionDown'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandler'/>
        <xsd:element minOccurs='0' ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='messageInitiator' type='messageInitiatorType' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerInstalled'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandler'/>
        <xsd:element minOccurs='0' ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='messageInitiator' type='messageInitiatorType' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerLow'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandler'/>
        <xsd:element minOccurs='0' ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='warningType' 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='numberOfComponentsLeft' type='xsd:positiveInteger' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerOutOfComponent'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandler'/>
        <xsd:element ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='DecrementMispickCount' type='xsd:positiveInteger' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerTrouble'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandler'/>
        <xsd:element minOccurs='0' ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='messageInitiator' type='messageInitiatorType' use='optional'/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name='MaterialHandlerUninstalled'>
    <xsd:annotation>
      <xsd:documentation>IPC-2546/5</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref='MaterialHandler'/>
        <xsd:element minOccurs='0' ref='Component'/>
      </xsd:sequence>
      <xsd:attribute name='messageInitiator' type='messageInitiatorType' 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>