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ı
Çalışma zamanı hataları
Politika yürütüldüğünde bu hatalar ortaya çıkabilir.
Hata kodu | HTTP durumu | Neden | Düzelt |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Bu hata, XSL Dönüşümü politikasının <Source> öğesinde belirtilen mesaj veya dize değişkeni kapsam dışındaysa (politikanın yürütüldüğü belirli akışta kullanılamaz) ya da çözülemiyorsa (tanımlanmamışsa) ortaya çıkar.
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Bu hata, giriş XML yükü kullanılamıyorsa/bozuk biçimlendirilmişse veya XSLTransform politikası XSL dosyasında sağlanan dönüştürme kurallarına göre giriş XML dosyasını dönüştüremiyorsa ortaya çıkar. XSLTransform politikasının başarısız olmasının birçok farklı nedeni olabilir. Hata mesajındaki hatanın nedeni hakkında daha fazla bilgi sağlanır. | build |
Dağıtım hataları
Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.
Hata adı | Neden | Düzelt |
---|---|---|
XSLEmptyResourceUrl |
XSL Dönüşümü politikasındaki <ResourceURL> öğesi boşsa API proxy'sinin dağıtımı başarısız olur. |
build |
XSLInvalidResourceType |
XSL Dönüşümü politikasının <ResourceURL> öğesinde belirtilen kaynak türü xsl türünde değilse API proxy'sinin dağıtımı başarısız olur. |
build |