Metadata

<event-wait-activity id="1" category="AC1">

    ...

    <event-wait wait-on-all-events="true">
      <events>
        <event event-class="Task" event-type="Close" 
               identifier="1">
          <event-match-attribute name="taskID" 
                                 wdo-name="Context_Task"/>
        </event>
        <event event-class="Parent" event-type="Approve" 
               identifier="1">
          <event-match-attribute name="identifier" 
            wdo-name="ParentList[Context_Loop.loopCount]"/>
        </event>        
        <event event-class="Child" event-type="Approve"
               identifier="2">
          <event-match-attribute name="identifier" 
                                 wdo-name="ChildDetails"/>
          <multiple-occurring-event>
            <list-wdo-name>ChildDetails</list-wdo-name>
          </multiple-occurring-event>
        </event>
      </events>
    </event-wait>

    ...

  </event-wait-activity>
event-wait
This contains the details of the event wait associated with the specified activity. This includes the details of all the events for the event wait.
wait-on-all-events
The value of this flag indicates to the workflow engine if it should wait for events to be raised for all of the specified event waits before completing the associated activity. If set to false, the first event that matches one of the specified event waits will result in the completion of associated activity and the workflow progressing. When set to true, an event must be raised for each of the event waits specified for the activity before the activity is completed and the workflow progressed.
events
This contains the details of all of the events that the specified activity is waiting on.
event
This contains the details of one specific event that this activity is waiting on. The event details contain the following mandatory attributes:
event-class
This represents the class of business event that this process is waiting on.
event-type
This represents the type of business event that this process is waiting on. The combination of event-class and event-type will denote the business event required.
identifier
This represents the unique identifier of this event. The identifier is required to be unique only within the list of events for this activity.
event-match-attribute
This represents the workflow data object attribute (see Workflow Data Objects) that is used to match the required instance of the specific event. For example, in the first event specified in the metadata above, the workflow data object attribute would refer to the task identifier associated with the closing of a specific task. When this event is raised, the workflow engine will use the data in the event match attribute to uniquely identify the task to close.
multiple-occurring-event
This signifies that this event will represent a multiple occurring event. This means that if this metadata is specified for an event, the workflow engine will create one event wait record for each item in the list workflow data object specified as the multiple occurring event when that activity is executed. This allows the workflow engine to wait on multiple occurrences of the same event.

It should be noted that when the multiple occurring event is specified for an event, then an attribute from the associated list workflow data object must be used as the event match data for the event. This will ensure that each event generated by the workflow engine for the multiple occurring event will be unique.

list-wdo-name
This represents the name of the list workflow data object to be used as the multiple occurring event.