<?xml version="1.0" encoding="UTF-8"?>
<flow>
    <!-- base test -->
    <chain name="chain1">
        <then value="a,b,c"/> <!-- a b c 串联执行-->
        <when value="d,e(f|g)"/> <!-- e d 并联执行-->
        <then value="chain2"/>
    </chain>
    <chain name="chain2">
        <then value="b,j(a|chain3)"/>
    </chain>

    <chain name="chain3">
        <when value="g,f,h"/>
    </chain>

    <chain name="chain3-1">
        <when value="f,g,i" group="1"/>
        <when value="h" group="2"/>
    </chain>

    <chain name="chain3-2">
        <when value="f,g,i" errorResume="true" group="1"/>
        <when value="h" group="2"/>
    </chain>

    <chain name="chain4">
        <then value="a,b,c"/> <!-- a b c 串联执行-->
        <when value="d,i" errorResume="true"/> <!-- d i 并联执行-->
        <when value="g,i,h" errorResume="false"/><!-- 此时 g i h 与 d i并联执行 并且默认异常不抛出-->
    </chain>

    <chain name="chain5">
        <then value="a,b,c"/> <!-- a b c 串联执行-->
        <when value="d,i" errorResume="false"/> <!-- d i 并联执行-->
        <when value="g,i,h" errorResume="true"/><!-- 此时 g i h 与 d i并联执行 并且默认异常抛出-->
    </chain>

    <chain name="chain6">
        <then value="a,b,c"/> <!-- a b c 串联执行-->
        <when value="d,i" errorResume="false" group="1"/> <!-- d i 并联执行-->
        <when value="g,i,h" errorResume="true" group="2"/><!-- 此时 g i h 与 d i并联执行 并且默认异常抛出-->
    </chain>

    <chain name="chain7">
        <then value="a,b,c"/> <!-- a b c 串联执行-->
        <when value="d,i" errorResume="true" group="1"/> <!-- d i 并联执行-->
        <when value="g,i,h" errorResume="false" group="2"/><!-- 此时 g i h 与 d i并联执行 并且默认异常抛出-->
    </chain>

    <chain name="chain8">
        <when value="d,g,h" any="true"/> <!-- a b c 串联执行-->
        <then value="a,b,c"/> <!-- d g h 并联执行,任意一个执行完毕即结束-->
    </chain>

</flow>