Schleifenbeginnaktivität

<loop-begin-activity id="1">
    ...

    <loop-type name="do-while"/>

    ...

    <condition>
      <expression id="1" data-item-lhs="Context_Loop.loopCount" 
        operation="&lt;" data-item-rhs="UserAccountWDO.size()"/>
    </condition>

    <block-endpoint-ref activity-id="5"/>

  </loop-begin-activity>
loop-type
Der Tag loop-type gibt an, wie die Schleife ausgeführt wird (siehe Schleifentyp). Die beiden einzigen gültige Werte für das Attribut name sind while und do-while.
condition
Der Tag condition gibt die Bedingung an, die basierend auf Werten für Workflowdatenobjekte bewertet wird (siehe Workflowdatenobjekte). Wenn Listen-Workflowdatenobjekte im Workflow vorhanden sind, werden zwei Attribute, die nicht Bestandteil der Metadaten der Workflowdatenobjekte sind, beim Erstellen eines Schleifenbedingungsausdrucks mithilfe eines Listen-Workflowdatenobjekts zur Verfügung gestellt. Diese lauten wie folgt:
  • size(): Gibt in Form einer Zahl (einer Ganzzahl) die Anzahl von Elementen in der Liste an.
  • isEmpty(): Gibt in Form eines booleschen Flags an, ob die Liste Elemente enthält oder nicht.

Die tatsächlichen Metadaten der Bedingung werden an anderen Stellen in den Metadaten der Prozessdefinition verwendet und werden daher in einem dafür vorgesehenen Kapitel (Bedingungen) beschrieben.

block-endpoint-ref
Der Tag block-endpoint-ref in diesem Kontext ermöglicht es der Schleifenbeginnaktivität (loop-begin-activity), ihre zugehörige Schleifenendaktivität (loop-end-activity) zu erkennen. Diese Information ist für die Workflow-Engine bei der Ausführung der Schleife von Nutzen. Wenn beispielsweise eine Exitbedingung einer Schleife vor der Ausführung der Schleife den Wert true aufweist, zeigt der Tag block-endpoint-ref der Workflow-Engine an, von welcher Aktivität an sie die Ausführung des Prozesses fortsetzen soll.