首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法输出包含"<“的XSLT变量

无法输出包含"<“的XSLT变量
EN

Stack Overflow用户
提问于 2020-11-03 05:51:56
回答 2查看 36关注 0票数 0

以下XSLT代码起作用:

代码语言:javascript
运行
复制
<xsl:variable name="ret"> RET </xsl:variable>
<xsl:value-of select="$ret" disable-output-escaping="yes"/>

它输出"RET“。但是,此代码不像预期的那样工作:

代码语言:javascript
运行
复制
<xsl:variable name="ret"> <RET/> </xsl:variable>
<xsl:value-of select="$ret" disable-output-escaping="yes"/>

我希望输出是<RET/>

我这样做是为了将"xsl:apply-templates“的输出捕获到变量中。"xsl:apply-templates“的输出可能包括HTML标记(例如blah、blah)。我希望我可以将输出存储到一个变量中,并在afterworlds中进行一些处理。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-03 06:18:18

xsl:value-of指令创建一个文本节点。它通过将所选内容转换为字符串来做到这一点。变量包含一个没有字符串的空元素--值--并将其转换为字符串会导致空字符串。

若要将变量内容传递给没有转换的输出树,请使用xsl:copy-of指令。

在你最初的问题中,你写道:

,我希望输出是"<RET/>"

这表明您认为变量包含字符串 "<RET/>",它可以通过将元素复制到输出而不转义它来创建元素。但是,为了创建这样的变量,您必须使用:

代码语言:javascript
运行
复制
<xsl:variable name="ret">&lt;RET></xsl:variable>

无论如何,这不是一个创建输出的好方法。

票数 2
EN

Stack Overflow用户

发布于 2020-11-03 06:12:57

使用xsl:copy-of而不是xsl:value-of。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64657443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档