使用 XSLT 1 将 XML 文档转换为 base64

我需要使用 XSLT 1 转换将 XML 文档转换为 base64。

我尝试使用此模板执行此操作:https ://github.com/ilyakharlamov/xslt_base64

这是我的 XSL:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  xmlns:b64="https://github.com/ilyakharlamov/xslt_base64"

  version="1.0">


  <xsl:output method="text" encoding="utf-8" />

  <xsl:strip-space elements="*"/>

  <xsl:include href="base64.xsl"/>

  

  <xsl:template match="/">

  <xsl:call-template name="b64:encode" >

            <xsl:with-param name="asciiString">

              <xsl:copy-of select="." />

            </xsl:with-param>

        </xsl:call-template>

   </xsl:template>


</xsl:stylesheet>

这行得通,但它去除了所有 XML 标签,只对文本进行编码。我需要实际编码所有内容(整个文档,原样)。将输出方法更改为 XML 无济于事。


慕姐8265434
浏览 113回答 1
1回答

慕无忌1623718

我是这样做的:<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:b64="https://github.com/ilyakharlamov/xslt_base64"  version="1.0"><xsl:import href="xml-to-string.xsl"/>  <xsl:output method="text" encoding="utf-8" />  <xsl:strip-space elements="*"/>  <xsl:include href="base64.xsl"/>      <xsl:template match="/">  <xsl:call-template name="b64:encode" >            <xsl:with-param name="asciiString">              <xsl:apply-templates select="." mode="xml-to-string" />            </xsl:with-param>        </xsl:call-template>   </xsl:template></xsl:stylesheet>使用这个: http: //lenzconsulting.com/xml-to-string/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python