<xsd:element name="IntermediateEvent">
<xsd:annotation>
<xsd:documentation>BPMN</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:choice minOccurs="0">
<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
<xsd:element ref="xpdl:TriggerTimer" minOccurs="0"/>
<xsd:element ref="xpdl:ResultError" minOccurs="0"/>
<xsd:element ref="xpdl:TriggerEscalation" minOccurs="0"/>
<xsd:element ref="xpdl:TriggerResultCompensation" minOccurs="0">
<xsd:annotation>
<xsd:documentation>BPMN: Must be present if if Trigger or ResultType is Compensation.[This event can be attached or throwing. Thus name of element should be TriggerResultCompensation.]</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="xpdl:TriggerConditional" minOccurs="0"/>
<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0">
<xsd:annotation>
<xsd:documentation>BPMN: Link event connects source and target nodes of the same process or subprocess. Equivalent to a sequence flow between source and target nodes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="xpdl:TriggerResultCancel" minOccurs="0"/>
<xsd:element ref="xpdl:TriggerResultSignal" minOccurs="0"/>
<xsd:element ref="xpdl:TriggerIntermediateMultiple" minOccurs="0">
<xsd:annotation>
<xsd:documentation>BPMN: if the TriggerType is Multiple then this must be present. Only valid for attached event. [EventDetail elements are incorrect. They should be message, timer, error, conditional, signal, cancel.]</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:attribute name="Trigger" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="None"/>
<xsd:enumeration value="Message"/>
<xsd:enumeration value="Timer"/>
<xsd:enumeration value="Error"/>
<xsd:enumeration value="Escalation"/>
<xsd:enumeration value="Cancel"/>
<xsd:enumeration value="Conditional"/>
<xsd:enumeration value="Link"/>
<xsd:enumeration value="Signal"/>
<xsd:enumeration value="Compensation"/>
<xsd:enumeration value="Multiple"/>
<xsd:enumeration value="ParallelMultiple"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="Implementation" use="optional" default="WebService">
<xsd:annotation>
<xsd:documentation>Required if the Trigger is Message</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="WebService"/>
<xsd:enumeration value="Other"/>
<xsd:enumeration value="Unspecified"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="Target" type="xpdl:Id" use="optional">
<xsd:annotation>
<xsd:documentation>BPMN: Presence of attribute indi |