<switch>
一連の条件を評価し、実行する操作を決定します。
構文
<switch>
<case>
...
</case>
...
<default>
...
</default>
</switch>
詳細
属性または要素 | 説明 |
---|---|
name、disabled、xpos、ypos、xend、yend 属性 | "一般的な属性と要素" を参照してください。 |
<annotation> 要素 | |
<case> 要素 | 必須 (少なくとも 1 つは必要)。各 <case> 要素は、真またはそれ以外になる条件を定義します。 |
<default> 要素 | オプション。どの <case> 条件も満たされない場合に実行する操作を指定します。指定する場合は、<switch> 要素の最後に配置する必要があります。 |
説明
<switch> 要素には、連続する 1 つ以上の <case> 要素と、オプションの <default> 要素が含まれます。
<switch> 要素が実行されると、さらに各 <case> 条件が評価されます。これらの条件は、それを含む <process> 要素のスクリプト言語で記述された論理式です。いずれかの式の結果が整数値 1 (真) の場合、それに対応する <case> 要素の内容が実行されます。それ以外の場合は、次の <case> 要素の式が評価されます。
どの <case> 条件も真でない場合は、<default> 要素の内容が実行されます。
いずれかの <case> 要素が実行されるとすぐに、対応する <switch> 文から実行制御が離れます。どの <case> 条件も一致しない場合は、<default> アクティビティを実行した後で <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>