Activité de début de boucle

<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
La balise loop-type indique la méthode d'exécution de la boucle, comme décrit dans Types de boucle. Les deux seules valeurs admises pour l'attribut name sont while et do-while.
condition
La balise condition indique la condition qui sera évaluée en se basant sur les valeurs de l'objet de données de flux de travaux (voir Objets de données de flux de travaux). Lorsque des objets de données de flux de travaux de type liste sont présents dans le flux de travaux, deux attributs qui ne font pas partie de ces métadonnées d'objet de données de flux de travaux sont mis à disposition lors de la création d'une expression de condition de boucle à l'aide d'un objet de données de flux de travaux de type liste. Ces attributs sont les suivants :
  • size() : a pour résultat un nombre (de type entier) afin d'indiquer le nombre d'éléments présents dans la liste.
  • isEmpty() : a pour résultat un indicateur booléen afin d'indiquer si la liste contient des éléments ou non.

Les métadonnées de condition réelles sont utilisées à d'autres endroits des métadonnées de la définition de processus et sont décrites dans le Conditions.

block-endpoint-ref
Dans ce contexte, l'élément block-endpoint-ref permet à l'élément loop-begin-activity de reconnaître son élément loop-end-activity associé. Ces informations s'avèrent utiles au moteur de flux de travaux lors de l'exécution de la boucle. Par exemple, lorsque la condition de sortie d'une boucle while a pour résultat true avant que la boucle ne s'exécute, l'élément block-endpoint-ref indique au moteur de flux de travaux à quelle activité il doit directement passer et continue l'exécution du processus.