gpt4 book ai didi

html - 如何在 XSLT 中将 base64 字符串解码为 HTML 内容?

转载 作者:数据小太阳 更新时间:2023-10-29 02:06:27 26 4
gpt4 key购买 nike

我正在尝试从属性转换编码的 base64 HTML 内容,并使用 XLST 将其放入 HTML 内容中,希望有人能提供帮助。

我有这个字符串:

<p><b>Hello!</b><span>This is a span</span></p>

这是 base64 编码的值:

PHA+PGI+SGVsbG8hPC9iPjxzcGFuPlRoaXMgaXMgYSBzcGFuPC9zcGFuPjwvcD4=

XML 数据如下所示:

<Data Get="True">
<Result TextFlow="PHA+PGI+SGVsbG8hPC9iPjxzcGFuPlRoaXMgaXMgYSBzcGFuPC9zcGFuPjwvcD4=">
</Result>
</Data>

我最后一次尝试使用 this :

fn:cast($XML/Data/Result/@TextFlow,'xs:base64Binary','xs:String',false())

That code send this error:
Unknown function - Name and number or arguments do not match any function signature in the static context.

感谢您的帮助!

最佳答案

XSLT 中没有执行此操作的内置功能。<​​/p>

即将推出 EXPath 二进制模块:

http://expath.org/spec/binary

bin:decode-string() 函数正是您所需要的。我们已经为 Saxon 实现了此功能,但尚未集成到产品中。同时还有扩展函数 saxon:base64BinaryToString 本质上是一样的:

http://www.saxonica.com/documentation/index.html#!functions/saxon/base64Binary-to-string

并且在 Saxon-PE 或更高版本中可用。

两个函数都接受 xs:base64Binary 类型的参数;要将 base64 中的字符串转换为这种类型的值,您可以使用构造函数 xs:base64Binary(string)。这当然需要 XSLT 2.0。

如果您的(解码的)字符串包含标记,那么要将其复制到序列化的 HTML 输出,您将需要使用已弃用的 disable-output-escaping="yes"选项。

更新(2019 年 4 月)

Saxon 的最新版本(当前版本是 9.9)包括 EXPath 二进制模块作为 Saxon-PE 和更高版本中的标准。

关于html - 如何在 XSLT 中将 base64 字符串解码为 HTML 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com