Jeśli/ElseIf/Else

Działania If/ElseIf/Else wykonują działania, jeśli warunek jest spełniony.

Działania If/ElseIf/Else wykonują działania zagnieżdżone w oparciu o jedno lub więcej wzajemnie wykluczających się warunków:

  • Warunki "If" są zawsze sprawdzane.
  • Warunki "ElseIf" są sprawdzane tylko wtedy, gdy wszystkie poprzednie warunki "If" i "ElseIf" nie zostały spełnione.
  • Działania "else" nie mają żadnego warunku; jeśli żadne z poprzednich warunków "If" lub "ElseIf" nie zostały spełnione, działania "Else" zostaną wykonane automatycznie.

W poniższej tabeli przedstawiono parametry dla działania If.

Tabela 1. Jeśli parametry działania
Nazwa Typ danych Wymagane Uwagi
warunek Ścieżka JPath Tak Warunek do oceny. nie może być pusta.
Działania Działania [] Tak Sekwencja działań, które mają zostać wykonane, jeśli warunek jest spełniony. nie może być pusta.

W poniższej tabeli przedstawiono parametry działania ElseIf.

Tabela 2. Parametry działania ElseIf
Nazwa Typ danych Wymagane Uwagi
warunek Ścieżka JPath Tak Warunek do oceny. nie może być pusta.
Działania Działania [] Tak Sekwencja działań, które mają zostać wykonane, jeśli warunek jest spełniony. nie może być pusta.

W poniższej tabeli przedstawiono parametry działania Else.

Tabela 3. Inne parametry działania
Nazwa Typ danych Wymagane Uwagi
Działania Działania [] Tak Sekwencja działań do wykonania, jeśli żadna z poprzednich warunków "If" lub "ElseIf" nie jest prawdziwa. nie może być pusta.

Przykład XML

W tym przykładzie podejmowane są następujące działania:

  • Jeśli wartość stanu w lokalizacji /status wynosi 200, wykonywane jest tylko działanie SetStatus, które ustawia status na komunikat "Sukces" INFO.
  • Jeśli wartością parametru /status jest 401, wykonywane jest tylko działanie SetStatus, które ustawia status na komunikat ERROR "Authentication Failure" (Błąd uwierzytelniania).
  • Jeśli wartością parametru /status jest 404, tylko działanie SetStatus, które ustawia status na komunikat ERROR "No Route Exists" (Brak trasy istnieje), jest wykonywane.
  • Jeśli wartością /status jest cokolwiek innego, wykonywane jest tylko ostateczne działanie 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>