루프 시작 활동

<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
loop-type루프 유형에 설명된 대로 루프를 실행하는 방법을 지정합니다. name 속성에 사용할 수 있는 값 두 가지는 whiledo-while입니다.
condition
condition 태그는 워크플로우 데이터 오브젝트 값에 기반하여 평가할 조건을 지정합니다(워크플로우 데이터 오브젝트 참조). 목록 워크플로우 데이터 오브젝트가 워크플로우에 표시될 경우 목록 워크플로우 데이터 오브젝트를 사용하여 루프 조건 표현식을 작성할 때 해당 워크플로우 데이터 오브젝트 메타데이터의 일부가 아닌 두 가지 속성을 사용할 수 있습니다. 해당 전제조건과 정보는 다음과 같습니다.
  • size() : 목록에 있는 항목 수를 나타내는 숫자(INTEGER 유형)로 평가합니다.
  • isEmpty() : 목록에 요소가 포함되어 있는지 여부를 나타내는 BOOLEAN 플래그로 평가합니다.

실제 조건 메타데이터는 프로세스 정의 메타데이터의 다른 위치에 사용되므로 조건 장에서 별도로 설명합니다.

block-endpoint-ref
이 컨텍스트에 나와 있는 block-endpoint-ref를 사용하면 loop-begin-activity가 연관된 loop-end-activity를 인식할 수 있습니다. 이 정보는 워크플로우 엔진에서 루프를 실행할 때 유용합니다. 예를 들어 루프가 실행되기 전에 while 루프의 종료 조건이 true로 평가되면 block-endpoint-ref가 워크플로우 엔진에게 이동하여 프로세스 실행을 계속할 활동을 알려 줍니다.