0
我有一个XML文档,其中包含一些我要在输出文档中注入的转义HTML字符串。我有以下doc.xml
XSLT和转义的HTML字符串
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="doc.xsl"?>
<doc>
<str><p>foo</p></str>
</doc>
和doc.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:value-of select="doc/str" disable-output-escaping="yes" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
据我在别处读(如here)这应该工作,但它并没有,至少当我打开该文件Firefox 41:输出结果为<p>foo</p>
,没有标记的HTML解释。
禁用输出转义同样不可靠的服务器端:一般来说,最好避免,尽管这是一个用例在那里它可能会有非常方便。处理转义的HTML字符串的另一种方法是将它们解析为节点树,这可以通过调用扩展函数来完成;细节再次取决于您使用的处理器。 –
@MichaelKay我的观点是,在服务器端可以选择具有所需功能的XSLT处理器。之后,没有不可靠性。 – Tomalak