Transform XML using an XSLT (XML átalakítása XSLT-vel)
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
A xsl-transform
szabályzat XSL-átalakítást alkalmaz XML-vé a kérelem vagy válasz törzsében.
Feljegyzés
Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.
Szabályzatutasítás
<xsl-transform>
<parameter parameter-name="...">...</parameter>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:.../>
<xsl:.../>
</xsl:stylesheet>
</xsl-transform>
Elemek
Név | Leírás | Kötelező |
---|---|---|
paraméter | Az átalakítás során használt változók definiálására szolgál | Nem |
xsl:stylesheet | Gyökérstíluslap elem. A szabvány XSLT-specifikációt követve definiált összes elem és attribútum. | Igen |
Használat
- Szabályzatszakaszok: bejövő, kimenő
- Szabályzathatókörök: globális, munkaterület, termék, API, művelet
- Átjárók: klasszikus, v2, használat, saját üzemeltetésű, munkaterület
Használati megjegyzések
- Ez a szabályzat csak egyszer használható egy szabályzatszakaszban.
- Ez a szabályzat jelenleg az XSLT 1.0-s verzióját támogatja.
Példák
Kérelem törzsének átalakítása
<inbound>
<base />
<xsl-transform>
<parameter name="User-Agent">@(context.Request.Headers.GetValueOrDefault("User-Agent","non-specified"))</parameter>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:param name="User-Agent" />
<xsl:template match="* | @* | node()">
<xsl:copy>
<xsl:if test="self::* and not(parent::*)">
<xsl:attribute name="User-Agent">
<xsl:value-of select="$User-Agent" />
</xsl:attribute>
</xsl:if>
<xsl:apply-templates select="* | @* | node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
</xsl-transform>
</inbound>
Válasz törzsének átalakítása
<policies>
<inbound>
<base />
</inbound>
<outbound>
<base />
<xsl-transform>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" method="xml" indent="yes" />
<!-- Copy all nodes directly-->
<xsl:template match="node()| @*|*">
<xsl:copy>
<xsl:apply-templates select="@* | node()|*" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
</xsl-transform>
</outbound>
</policies>
Kapcsolódó szabályzatok
Kapcsolódó tartalom
A szabályzatok használatával kapcsolatos további információkért lásd:
- Oktatóanyag: AZ API átalakítása és védelme
- Szabályzathivatkozás a szabályzatutasságok és azok beállításainak teljes listájához
- Házirend-kifejezések
- Házirendek beállítása vagy szerkesztése
- Szabályzatkonfigurációk újrafelhasználása
- Szabályzatrészletek adattára
- Azure API Management policy toolkit
- Szabályzatok létrehozása a Microsoft Copilot használatával az Azure-ban