If/ElseIf/Else

If/ElseIf/Else アクションでは、条件が満たされた場合にアクションを実行します。

If/ElseIf/Else アクションは、以下のように、1 つ以上の相互に排他的な条件に基づいて、ネストされたアクションを実行します。

  • 「If」の条件は常に検査されます。
  • 「ElseIf」の条件が検査されるのは、すべての前にある「If」と「ElseIf」の条件が満たされなかった場合のみです。
  • 「Else」のアクションには条件がありません。前にあるいずれの「If」または「ElseIf」の条件も満たされなかった場合、「Else」のアクションが自動的に実行されます。

以下の表では、If アクションのパラメーターを示します。

表 1. If アクションのパラメーター
名前 データ・タイプ 必須
condition JPath はい 評価する条件。 空にすることはできません。
actions Actions[] はい 条件が true の場合に実行するアクションのシーケンス。 空にすることはできません。

以下の表では、ElseIf アクションのパラメーターを示します。

表 2. ElseIf アクションのパラメーター
名前 データ・タイプ 必須
condition JPath はい 評価する条件。 空にすることはできません。
actions Actions[] はい 条件が true の場合に実行するアクションのシーケンス。 空にすることはできません。

以下の表では、Else アクションのパラメーターを示します。

表 3. Else アクションのパラメーター
名前 データ・タイプ 必須
actions Actions[] はい 前にあるいずれの「If」または「ElseIf」の条件も真でない場合に実行するアクションのシーケンス。 空にすることはできません。

XML の例

この例では、以下のアクションが実行されます。

  • 場所 /status の状態値が 200 の場合、状況を INFO "Success" メッセージに設定する SetStatus アクションのみが実行されます。
  • /status の値が 401 の場合は、状況を ERROR "Authentication Failure" メッセージに設定する SetStatus アクションのみが実行されます。
  • /status の値が 404 の場合、状況を ERROR "No Route Exists" メッセージに設定する SetStatus アクションのみが実行されます。
  • /status の値がその他の値である場合は、最後の SetStatus アクションのみが実行されます。
<If condition="/status = 200">
    <SetStatus type="INFO" message="Success." />
</If>
<ElseIf condition="/status = 401">
    <SetStatus type="ERROR" message="Authentication Failure." />
</ElseIf>
<ElseIf condition="/status = 404">
    <SetStatus type="ERROR" message="No Route Exists." />
</ElseIf>
<Else>
    <SetStatus type="ERROR" message="An unknown error (${/status}) has occurred." />
</Else>