Actividad de inicio de bucle

<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
El elemento loop-type (tipo de bucle) especifica cómo se va a ejecutar el bucle conforme a lo detallado en Tipo de bucle. Los dos únicos valores válidos para el atributo name (nombre) son while y do-while.
condition
La etiqueta condition especifica la condición que se va a evaluar en función de los valores del objeto de datos de flujo de trabajo (consulte Objetos de datos de flujo de trabajo). Cuando los objetos de datos de flujo de trabajo de lista están presentes en el flujo de trabajo, al crearse una expresión de condición de bucle utilizando un objeto de datos de flujo de trabajo de lista, se hacen disponibles dos atributos que no forman parte de los metadatos de objeto de datos de flujo de trabajo Dichos atributos son los siguientes:
  • size(): evalúa a un número (de tipo ENTERO) que indica el número de elementos de la lista.
  • isEmpty(): evalúa a un indicador BOOLEANO que indica si la lista contiene elementos o no.

Los valores reales de los metadatos se utilizan en otros lugares de los metadatos de la definición de proceso y por tanto se describen en el correspondiente capítulo, Condiciones.

block-endpoint-ref
El elemento block-endpoint-ref permite en este contexto que loop-begin-activity (actividad de fin de bucle) reconozca sus loop-end-activity (actividades de inicio de bucle) asociadas. Esta información es útil para el motor de flujo de trabajo cuando ejecuta el bucle. Por ejemplo, cuando una condición de salida de un bucle while evalúa a true antes de que ejecute el bucle, block-endpoint-ref indica al motor de flujo de trabajo que a qué actividad tiene que saltar para continuar con la ejecución del proceso.