If/ElseIf/Else

Les actions If/ElseIf/Else exécutent des actions si une condition est satisfaite.

Les actions If/ElseIf/Else exécutent des actions imbriquées basées sur une ou plusieurs conditions mutuellement exclusives :

  • Les conditions "If" sont toujours vérifiées.
  • Les conditions "ElseIf" ne sont vérifiées que si toutes les conditions "If" et "ElseIf" précédentes ne sont pas satisfaites.
  • Les actions "Else" n'ont pas de condition ; si aucune des conditions "If" ou "ElseIf" précédentes n'a été satisfaite, les actions "Else" sont automatiquement exécutées.

Le tableau suivant montre les paramètres de l'action If.

Tableau 1. Paramètres de l'action If
Nom Type de données Obligatoire Remarques
état JPath Oui La condition à évaluer. Ne peut pas être vide.
actions Actions[] Oui Séquence d'actions à exécuter si la condition a la valeur true. Ne peut pas être vide.

Le tableau suivant montre les paramètres de l'action ElseIf.

Tableau 2. Paramètres de l'action ElseIf
Nom Type de données Obligatoire Remarques
état JPath Oui La condition à évaluer. Ne peut pas être vide.
actions Actions[] Oui Séquence d'actions à exécuter si la condition a la valeur true. Ne peut pas être vide.

Le tableau suivant montre les paramètres de l'action Else.

Tableau 3. Paramètres de l'action Else
Nom Type de données Obligatoire Remarques
actions Actions[] Oui Séquence d'actions à exécuter si aucune des conditions "If" ou "ElseIf" précédentes n'a la valeur true. Ne peut pas être vide.

Exemple XML

Dans cet exemple, les actions suivantes sont effectuées :

  • Si la valeur d'Etat à l'emplacement /status est 200, seule l'action SetStatus qui définit le statut sur un message INFO "Success" est exécutée.
  • Si la valeur /status est 401, seule l'action SetStatus qui définit le statut sur un message ERROR "Authentication Failure" est exécutée.
  • Si la valeur /status est 404, seule l'action SetStatus qui définit le statut sur un message ERROR "No Route Exists" est exécutée.
  • Si la valeur /status est autre, seule l'action SetStatus finale est exécutée.
<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>