Hallo Arnold,
Vielen Dank für diese schon um einiges hilfreichere Antwort.
Leider zeigt Kernow 1.6 bei mir immernoch folgenden Fehler, den ich einfach nicht weg bekomme:
Ich gehe mal davon aus, dass hier eine aktuelle Saxon-Version im Hintergrund liegt, dann ist XSLT 2.0 nebst XPath 2.0 verwendbar.
XPath syntax error at char 32 on line 6 in {...4_string) cast as xs:hexBin...}:
Undeclared namespace prefix {xp}
xp? Das sollte wohl xs lauten.
Ich habe das gepostete Beispiel so probiert:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions"
exclude-result-prefixes="fn xs">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:variable name="base64_string" select="'VGVzdHN0cmluZw=='"/><!-- das Wort 'Teststring' base64_encoded -->
<xsl:variable name="hexbin_string" select="xs:base64Binary($base64_string) cast as xs:hexBinary"/>
<!-- oder
<xsl:variable name="hexbin_string" select="xs:hexBinary(xs:base64Binary($base64_string))"/>
-->
<xsl:value-of select="$hexbin_string"/><!-- 54657374737472696E67 -->
</xsl:template>
</xsl:stylesheet>
Transformieren einfach gegen ein Dummy-XML-Dokument in der Form:
<?xml version="1.0" encoding="UTF-8"?>
<test></test>
Grüße,
Thomas