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.
| 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.
| 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.
| 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>