Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Co
Zasada przekształcenia XSL stosuje niestandardowe przekształcenia w rozszerzalnym języku arkuszy stylów (XSLT) do wiadomości XML, co umożliwia przekształcanie ich z formatu XML na inny format, np. XML, HTML lub zwykły tekst. Zasada jest często używana do integrowania aplikacji, które obsługują format XML, ale wymagają różnych formatów XML dla tych samych danych.
Przykłady
Te przykłady pokazują wszystkie zasoby w przepływie przekształcenia XSL.
Zasada XSL ->
<XSL name="TransformXML"> <ResourceURL>xsl://my_transform.xsl</ResourceURL> <Source>request</Source> </XSL>
Prosta zasada XSL. Przejdź do następnego przykładu, aby zobaczyć arkusz stylów XSLT, do którego odwołuje się
zasada (my_transform.xsl). Ważny jest element <Source>.
Jeśli na przykład format XML, który chcesz przekształcić, znajduje się w odpowiedzi, przekształcenie nie nastąpi
dopóki nie ustawisz źródła na response (a zasada nie zostanie dołączona do
przepływu odpowiedzi). W tym przypadku format XML, który ma zostać przekształcony, znajduje się w żądaniu.
Arkusz stylów XSLT ->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text"/> <xsl:variable name="newline"> <xsl:text> </xsl:text> </xsl:variable> <xsl:template match="/"> <xsl:text><Life></xsl:text> <xsl:value-of select="$newline"/> <xsl:text>Here are the odd-numbered items from the list:</xsl:text> <xsl:value-of select="$newline"/> <xsl:for-each select="list/listitem"> <xsl:if test="(position() mod 2) = 1"> <xsl:number format="1. "/> <xsl:value-of select="."/> <xsl:value-of select="$newline"/> </xsl:if> </xsl:for-each> <xsl:text></Life></xsl:text> </xsl:template> </xsl:stylesheet>
Arkusz stylów my_transform.xsl, do którego odwołuje się zasada. Przejdź do następnego
przykładu, aby zobaczyć przykładową przychodzącą wiadomość XML.
Wiadomość ->
<?xml version="1.0"?> <list> <title>A few of my favorite albums</title> <listitem>A Love Supreme</listitem> <listitem>Beat Crazy</listitem> <listitem>Here Come the Warm Jets</listitem> <listitem>Kind of Blue</listitem> <listitem>London Calling</listitem> <listitem>Remain in Light</listitem> <listitem>The Joshua Tree</listitem> <listitem>The Indestructible Beat of Soweto</listitem> </list>
Przykładowa wiadomość w żądaniu (wskazana w elemencie
<Source>request</Source> zasady w pierwszym przykładzie).
Przekształcona wiadomość
<Life> Here are the odd-numbered items from the list: 1. A Love Supreme 3. Here Come the Warm Jets 5. London Calling 7. The Joshua Tree </Life>
Przekształcona wiadomość po zastosowaniu arkusza stylów XSLT z tych przykładów do wiadomości XML.
Dokumentacja elementów
Skonfiguruj zasadę przekształcenia XSL za pomocą tych elementów.
| Nazwa pola | Opis | |||
|---|---|---|---|---|
| Name (Mandatory) |
Nazwa zasady. W nazwie możesz używać tylko tych znaków:
A-Z0-9._\-$ %. Interfejs zarządzania wymusza jednak dodatkowe ograniczenia, np. automatycznie usuwa znaki, które nie są alfanumeryczne.
|
|||
| Source (Optional) |
Zawiera wiadomość, z której należy wyodrębnić informacje. Zwykle ta wartość jest
ustawiana na request lub response, w zależności od tego, czy wiadomość, która ma
zostać przekształcona, jest przychodząca czy wychodząca.
|
|||
| OutputVariable (Optional) |
Zmienna, która przechowuje wynik przekształcenia. Zmienna OutputVariable nie może być typu Message, czyli nie może mieć wartości „message”, „request” ani „response”. Ten element należy ustawić jako zmienną niestandardową, a następnie użyć tej zmiennej. Aby zastąpić treść wiadomości wynikiem przekształcenia, usuń ten element. Jeśli na przykład przekształcasz wiadomość na HTML, nie uwzględniaj tego elementu. |
|||
| ResourceURL (Mandatory) | Plik XSLT, który ma być używany do przekształcania wiadomości. | |||
| Parameters (Optional) | ignoreUnresolvedVariables (Optional) |
Ignoruje błędy nierozwiązanych zmiennych w instrukcjach skryptu XSLT.
Prawidłowe wartości: true/false
Wartość domyślna: false
|
||
| Parameter (Optional) | name (Mandatory) |
Parametry obsługują użycie parametru XSL w arkuszach stylów, gdzie nazwa dodana
tutaj w zasadzie jest nazwą parametru XSL. Jeśli na przykład wpiszesz nazwę
"uid", Twój XSL może wyglądać tak: Parametr pobiera wartość z odwołania do zmiennej kontekstowej (identyfikowanej przez
atrybut Przykład i więcej informacji znajdziesz w poście na karcie Społeczność. |
||
| ref (Optional) |
Określa odniesienie, które pobiera wartość ze zmiennej. Jeśli na przykład parametr „uid” ma pobierać wartość ze zmiennej o nazwie „authn.uid”, element Parameter będzie wyglądać tak: Jeśli używasz tego atrybutu, nie używaj atrybutu value. |
|||
| value (Optional) |
Ten atrybut umożliwia zakodowanie wartości parametru na stałe. Jeśli używasz tego atrybutu, nie używaj atrybutu ref. |
|||
Zastosowanie
XSLT jest implementowany w samodzielnym .xsl pliku, który jest przechowywany w serwerze proxy interfejsu API
w katalogu /resources/xsl. Zasada XSL odwołuje się tylko do pliku XSL. Więcej informacji znajdziesz w sekcji
Pliki zasobów.
Zasada XSL wymaga 2 danych wejściowych:
- nazwa arkusza stylów XSLT, który zawiera zestaw reguł przekształcenia) przechowywanego w
serwerze proxy interfejsu API w katalogu
/resources/xsl - źródło formatu XML, który ma zostać przekształcony (zwykle żądanie lub odpowiedź).
<xsl:include> i <xsl:import> nie są obsługiwane.
Apigee Edge korzysta z procesora Saxon XSLT i obsługuje XSLT 1.0 i 2.0.
Dokumentacja błędów
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Przyczyna | Napraw |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Ten błąd występuje, jeśli zmienna komunikatu lub ciągu znaków określona w elemencie <Source> zasady przekształcania XSL jest poza zakresem (niedostępna w konkretnym procesie, w którym jest wykonywana) albo nie można jej rozwiązać (nie jest zdefiniowana).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Ten błąd występuje, jeśli wejściowe ładunki XML są niedostępne lub nieprawidłowo sformułowane albo zasada XSLTransform nie lub nie może przekształcić wejściowego pliku XML na podstawie reguł przekształcania podanych w pliku XSL. Przyczyn niepowodzenia zasady XSLTransform może być wiele. Więcej informacji na temat przyczyny niepowodzenia będzie można znaleźć w komunikacie o błędzie. | build |
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
| Nazwa błędu | Przyczyna | Napraw |
|---|---|---|
XSLEmptyResourceUrl |
Jeśli element <ResourceURL> w zasadzie przekształcania XSL jest pusty, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |
XSLInvalidResourceType |
Jeśli typ zasobu określony w elemencie <ResourceURL> zasady przekształcania XSL nie jest typu xsl, wdrożenie serwera proxy interfejsu API nie powiedzie się. |
build |