<case>
構文
<switch>
<case>
...
</case>
...
<default>
...
</default>
</switch>
属性と要素
必須項目。この式の結果が真の場合、この <case> 要素の内容が実行されます。偽の場合、この <case> 要素は無視されます。
整数値 1 (真の場合) または 0 (偽の場合) を求める式を指定します。
オプション。(この要素内の) 式が記述されるスクリプト言語を指定します。
"python"、"objectscript"、または "basic" (記載されていません) になります。既定は、この属性が含まれる <process> 要素で指定される言語です。
"一般的な属性と要素" を参照してください。
"一般的な属性と要素" を参照してください。
オプション。<case> には、<alert>、<assign>、<branch>、<break>、<call>、<code>、<continue>、<delay>、<empty>、<flow>、<foreach>、<if>、<label>、<milestone>、<reply>、<rule>、<scope>、<sequence>、<sql>、<switch>、<sync>、<throw>、<trace>、<transform>、<until>、<while>、<xpath>、および <xslt> をゼロ個以上、自由に組み合わせて使用できます。
説明
<case> 要素は <switch> 内で使用されます。
<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>