Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

<switch>

一連の条件を評価し、実行する操作を決定します。

Synopsis

<switch>   <case>     ...   </case>   ...   <default>     ...   </default> </switch>

詳細

属性または要素 説明
namedisabledxposyposxendyend 属性 一般的な属性と要素” を参照してください。
<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>
FeedbackOpens in a new tab