Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Co
Zasada przekształcania XSL stosuje niestandardowe przekształcenia języka elastycznego arkusza stylów (XSLT) do komunikatów XML, które umożliwiają przekształcenie ich z XML na inny format, np. XML, HTML lub zwykły. tekstu. Zasada ta jest często używana do integrowania aplikacji, które obsługują język XML, ale które wymagają różne formaty XML dla tych samych danych.
Przykłady
Poniższe przykłady pokazują wszystkie zasoby w procesie 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 języka, do którego odwołuje się dyrektywa
(my_transform.xsl
). Element <Source>
jest ważny.
Jeśli na przykład w odpowiedzi znajduje się kod XML, który chcesz przekształcić, przekształcenie nie będzie
może wystąpić, chyba że ustawisz źródło na response
(a zasada jest powiązana z
i przebieg odpowiedzi). Jednak w tym przypadku w żądaniu znajduje się plik XML do przekształcenia.
Arkusz stylów GPT ->
<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ład, aby zobaczyć przykład przychodzącego komunikatu 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ładowy komunikat w żądaniu (wskazany w tagu
<Source>request</Source>
w pierwszej próbce).
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łcony komunikat po zastosowaniu arkusza stylów DDEX z tych przykładów jest stosowany do pliku XML. .
Odwołanie do elementu
Skonfiguruj zasadę przekształcenia XSL, używając poniższych elementów.
Nazwa pola | Opis | |||
---|---|---|---|---|
Nazwa (obowiązkowe) |
Nazwa zasady. W nazwie można używać tylko następujących znaków:
A-Z0-9._\-$ % Interfejs zarządzania wymusza jednak dodatkowe ograniczenia,
na przykład automatycznie usuwać znaki niealfanumeryczne.
|
|||
Źródło (opcjonalnie) |
Zawiera komunikat, z którego należy wyodrębnić informacje. Zwykle ta wartość wynosi
ma wartość request lub response w zależności od tego, czy wiadomość do
jest przychodzący lub wychodzący.
|
|||
Zmienna wyjściowa (opcjonalnie) |
Zmienna, która przechowuje dane wyjściowe przekształcenia. Zmienna wyjściowa nie może być typu wiadomości, czyli nie może to być „wiadomość”, „żądanie” ani „odpowiedź”. Zalecenia ustaw ten element jako zmienną niestandardową i wykorzystaj ją. Aby zastąpić treść wiadomości danymi wyjściowymi przekształcenia, usuń ten . Jeśli na przykład przekształcasz wiadomość do formatu HTML, nie dodawaj jej . |
|||
ResourceURL (obowiązkowe) | Plik XLS, który ma być używany do przekształcania wiadomości. | |||
Parametry (opcjonalne) | zignorowajNierozstrzygnięteZmienne (Opcjonalne) |
Ignoruje wszelkie nieusunięte błędy zmiennych w instrukcjach skryptu DDEX.
Prawidłowe wartości: true/false (prawda/fałsz)
Wartość domyślna: false
|
||
Parametr (opcjonalny) | name (obowiązkowe) |
Parametry obsługują użycie parametru XSL w arkuszach stylów, gdzie nazwa
tutaj w zasadzie jest nazwa parametru XSL. Jeśli na przykład wpiszesz nazwę
„uid”, kod XSL może wyglądać np. tak: Wartość parametru pochodzi z odwołania do zmiennej kontekstowego (określanej przez
Przykład i więcej informacji znajdziesz na stronie http://community.apigee.com/questions/1860/how-should-the-the-optional-parameters-on-the-xsl.html#answer-1864. |
||
ref (opcjonalnie) |
Określa odwołanie, które pobiera wartość ze zmiennej. Jeśli na przykład plik
"uid" musi pobrać wartość ze zmiennej o nazwie „authn.uid”, która
element będzie wyglądać tak: Jeśli używasz tego atrybutu, nie używaj atrybutu value. |
|||
value (opcjonalnie) |
Za pomocą tego atrybutu możesz na stałe zakodować wartość parametru. Jeśli używasz tego atrybutu, nie używaj atrybutu ref. |
Zastosowanie
Plik AutoML jest zaimplementowany w samodzielnym pliku .xsl
, który jest przechowywany w interfejsie API
na serwerze proxy w standardzie /resources/xsl
. Zasada XSL odwołuje się tylko do pliku XSL. Zobacz
Pliki zasobów
Zasada XSL wymaga dwóch danych wejściowych:
- Nazwa arkusza stylów XSLT, który zawiera zestaw reguł przekształcania) przechowywanego w
Serwer proxy interfejsu API w domenie
/resources/xsl
- Źródło pliku XML do przekształcenia (zwykle jest to komunikat żądania lub odpowiedzi).
<xsl:include>
i <xsl:import>
nie są obsługiwane.
Apigee Edge korzysta z saxońskiego języka CSS oraz z arkuszami CSS 1.0 i 2.0.
Informacje o błędzie
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 |