説明
<switch> 要素には、連続する 1 つ以上の <case> 要素と、オプションの <default> 要素が含まれます。
<switch> 要素が実行されると、さらに各 <case> 条件が評価されます。これらの条件は、それを含む <process> 要素のスクリプト言語で記述された論理式です。いずれかの式の結果が整数値 1 (真) の場合、それに対応する <case> 要素の内容が実行されます。それ以外の場合は、次の <case> 要素の式が評価されます。
どの <case> 条件も真でない場合は、<default> 要素の内容が実行されます。
いずれかの <case> 要素が実行されるとすぐに、対応する <switch> 文から実行制御が離れます。どの <case> 条件も一致しない場合は、<default> アクティビティを実行した後で <switch> から制御が離れます。
<case> 要素内では、いずれかの BPL アクティビティを使用できます。例えば、以下の例では <assign> 要素が使用されています。
<switch name='Approved?'>
<case name='No PrimeRate' condition='context.PrimeRate=""'>
<assign name='Not Approved' property="response.IsApproved" value="0"/>
</case>
<case name='No Credit' condition='context.CreditRating=""'>
<assign name='Not Approved' property="response.IsApproved" value="0"/>
</case>
<default name='Approved' >
<assign name='Approved' property="response.IsApproved" value="1"/>
<assign name='InterestRate'
property="response.InterestRate"
value="context.PrimeRate+10+(99*(1-(context.CreditRating/100)))">
<annotation>
Copy InterestRate into response object.
</annotation>
</assign>
</default>
</switch>