Pattern 4 (Exclusive choice)

This pattern is supported by the 'if' expression. The first child of this expression must be a 'boolean expression' (like 'not', 'equals', 'undefined' or 'defined').

The second child of 'if' is executed if the boolean expression resolves to true. Else, the third child is executed.


    <if>
       <equals field="__subject__" value="credit approval" />
       <participant ref="task-a" />
       <participant ref="task-b" />
    </if>

You can help yourself by adding comments :


    <if>
       <equals field="__subject__" value="credit approval" />
       <!-- then -->
       <participant ref="task-a" />
       <!-- else -->
       <participant ref="task-b" />
    </if>

If you use droflo as your process editor, it will automatically add those 'then' and 'else' comments.

There is also a 'case' expression. It's documented at the section called “case”.