Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi

Ne?
XSL Dönüştürme politikası, özel Genişletilebilir stil sayfası dil dönüşümleri (XSLT) özelliklerini XML mesajları ile XML'den XML, HTML veya plain gibi başka bir biçime dönüştürmenizi sağlar. metin. Politika genellikle XML'i destekleyen ancak farklı XML biçimleri kullanabilirsiniz.
Örnekler
Aşağıdaki örnekler, XSL dönüştürme akışındaki tüm kaynakları gösterir.
XSL politikası ->
<XSL name="TransformXML"> <ResourceURL>xsl://my_transform.xsl</ResourceURL> <Source>request</Source> </XSL>
Basit XSL politikası.
(my_transform.xsl
). <Source>
öğesi önemlidir.
Örneğin, dönüştürmek istediğiniz XML yanıttaysa dönüşüm
kaynağı response
olarak ayarlanmadığı sürece (ve politika
dahil edilir. Ancak bu durumda, dönüştürülecek XML istekte yer alır.
XSLT stil sayfası ->
<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>
Politikada referans verilen my_transform.xsl
stil sayfası. Bir sonraki
örneğini inceleyin.
Mesaj ->
<?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>
İstekteki örnek mesaj (politikanın
<Source>request</Source>
öğesidir).
Dönüştürülen ileti
<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>
Bu örneklerdeki XSLT stil sayfası XML'e uygulandıktan sonraki dönüştürülen mesaj mesajını alırsınız.
Öğe referansı
Aşağıdaki öğeleri kullanarak bir XSL Dönüştürme politikası yapılandırın.
Alan adı | Açıklama | |||
---|---|---|---|---|
Ad (Zorunlu) |
Politikanın adı. Adda kullanabileceğiniz karakterler aşağıdakilerle sınırlıdır:
A-Z0-9._\-$ % Ancak Yönetim Kullanıcı Arayüzü'nde ek kısıtlamalar uygulanır.
Örneğin, alfanümerik olmayan karakterleri otomatik olarak kaldırabilirsiniz.
|
|||
Kaynak (İsteğe bağlı) |
Bilgilerin çıkarılması gereken mesajı içerir. Bu değer genelde
mesajın request veya response olarak ayarlanmasını
gelen veya giden bir işlemdir.
|
|||
Çıktı Değişkeni (İsteğe bağlı) |
Dönüşümün çıktısını depolayan değişken. Çıktıleştirilebilen değişkeni İleti türü "mesaj", "istek" veya "yanıt" olamaz. Şunları yapmalısınız: öğesi özelleştirilebilen değişken olarak ayarlayıp bu değişkeni kullanır. İleti içeriğini dönüşüm çıkışıyla değiştirmek için şunu silin: öğesine dokunun. Örneğin, bir iletiyi HTML'ye dönüştürüyorsanız bunu dahil etmeyin. öğesine dokunun. |
|||
ResourceURL (Zorunlu) | Mesajı dönüştürmek için kullanılacak XSLT dosyası. | |||
Parametreler (İsteğe bağlı) | allowUnresolvedVariables (İsteğe bağlı) |
XSLT komut dosyası talimatlarındaki çözülmemiş değişken hatalarını yok sayar.
Geçerli değerler: doğru/yanlış
Varsayılan değer: false
|
||
Parametre (İsteğe bağlı) | ad (Zorunlu) |
Parametreler, stil sayfalarınızda XSL parametresinin kullanımını destekler. Burada, eklediğiniz ad
değeri, XSL parametresinin adıdır. Örneğin,
"uid" ise XSL'niz şuna benzer şekilde görünebilir: Parametre, değerini bir bağlam değişkenine yapılan başvurudan (
Bir örnek ve daha fazla bilgi için bkz. http://community.apigee.com/questions/1860/how-should-the-the-optional-parameters-on-the-xsl.html#answer-1864. |
||
ref (İsteğe bağlı) |
Değeri bir değişkenden alan referansı belirtir. Örneğin,
"uid" parametresinin, değerini "authn.uid" adlı bir değişkenden alması gerekir.
öğesi aşağıdaki gibi görünür: Bu özelliği kullanıyorsanız değer özelliğini kullanmayın. |
|||
value (İsteğe bağlı) |
Parametre değerini sabit bir şekilde kodlamak için bu özelliği kullanabilirsiniz. Bu özelliği kullanıyorsanız ref özelliğini kullanmayın. |
Kullanım notları
XSLT, API'de depolanan bağımsız bir .xsl
dosyasında uygulanır.
proxy'si /resources/xsl
altında. XSL politikası yalnızca XSL dosyasına referans verir. Görüntüleyin
Daha fazla bilgi için Kaynak dosyaları bölümüne bakın.
XSL politikası için iki giriş gereklidir:
- Bir dönüştürme kuralları kümesini içeren XSLT stil sayfasının adı)
/resources/xsl
altında API proxy'si - Dönüştürülecek XML'in kaynağı (genellikle bir istek veya yanıt mesajı)
<xsl:include>
ve <xsl:import>
desteklenmiyor.
Apigee Edge, Saxon XSLT'yi kullanır. işlemci gerektirir ve XSLT 1.0 ve 2.0'ı destekler.
Hata referansı
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | Fix |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
This error occurs if the message or string variable specified in the <Source> element of the
XSL Transform policy is either out of scope (not available in the specific flow where the
policy is being executed) or can't be resolved (is not defined).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | This error occurs if the input XML payload is unavailable/malformed or the XSLTransform policy fails/is unable to transform the input XML file based on the transformation rules provided in the XSL file. There could be many different causes for the XSLTransform policy to fail. The reason for failure in the error message will provide more information on the cause. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
XSLEmptyResourceUrl |
If the <ResourceURL> element in the XSL Transform policy is empty, then the
deployment of the API proxy fails. |
build |
XSLInvalidResourceType |
If the resource type specified in the <ResourceURL> element of the XSL Transform
policy is not of type xsl , then the deployment of the API proxy fails. |
build |