Es gibt zwei XSL-Transformationen in IBM DataPower nacheinander. Der erste enthält einen URL-Open-Call und gibt einige BINARY NODE zurück. Dieser Knoten enthält das .gz-Archiv mit dem darin enthaltenen JSON-Dokument. Zweite Transformation ist unten:JSON-Ausgabe nach XSLT auf IBM Datapower
<xsl:output method="text" encoding="utf-8" indent="yes" media-type="application/json"/>
<dp:input-mapping type="ffd" href="local:///binaryNode.ffd"/>
<xsl:variable name="input64" select="dp:binary-encode(/object/message/node())"/>
<xsl:template match="/">
<xsl:message terminate="no" dp:priority="alert" dp:type="all">input64<xsl:copy-of select="$input64"/></xsl:message>
<xsl:variable name="outputJson" select="dp:inflate($input64, 'gzip')"/>
<xsl:copy-of select="$outputJson"/>
</xsl:template>
Binary Knoten transformiert zuerst Base64 string ($ input64) und entpackt dann von dp: Funktion aufzublasen. $ outputJson-Variable enthält definitiv eine JSON-Zeichenfolge. Aber die XSLT-Ausgabe ist trotz der Anweisung <xsl:copy-of select="$outputJson"/>
eine leere Zeichenfolge. Wie kann ich einen JSON für die Ausgabe erhalten?