Hej
Kan ikke lade sig gøre hverken i standard XSLT 1.0 eller XSLT 2.0, men det kan lade sig gøre ved brug af såkaldte extensions. f.eks. ved at bruge SAXON's XSLT 2.0 processor.
Lad mig vise noget kode jeg lige har tested og som virker. Et jpg billede af mig encoded som base64Binary ligger i en xml fil med kun et element, som vi kalder "binaryData".
Følgende XSLT stylesheet transformerer det encodede image tilbage til en jpg fil og placerer den her C:\test\jesper.jpg. Du skal selvfølgelig også generere HTML med et img element med en src attribut, der peger på billedets placering.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="
http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:xs="
http://www.w3.org/2001/XMLSchema" xmlns:saxon="
http://saxon.sf.net/" xmlns:fos="java.io.FileOutputStream" exclude-result-prefixes="#all">
<xsl:template match="/">
<xsl:variable name="img" select="'C:\test\jesper.jpg'"/>
<xsl:variable name="fos" select="fos:new(string($img))"/>
<xsl:value-of select="fos:write($fos, saxon:base64Binary-to-octets(xs:base64Binary(binaryData)))"/>
<xsl:value-of select="fos:close($fos)"/>
</xsl:template>
</xsl:stylesheet>
Med venlig hilsen
Jesper Tverskov
http://www.xmlplease.com