禁用输出escaping =“ yes”不适用于current()函数

时间:2018-08-29 08:09:27

标签: xml xslt

在我的xslt中,disable-output-escaping =“ yes”对于当前功能不起作用。

<xsl:value-of disable-output-escaping="yes" select="current()" />

不起作用。它不是将br标签从xml转换为br转换为HTML。 任何想法。

1 个答案:

答案 0 :(得分:0)

有很多原因导致disable-output-escapeing可能不起作用。最常见的是您的转换输出没有直接发送到序列化器,这意味着没有禁用转义过程。

disable-output-escaping几乎总是令人讨厌的骇客;通常有更好的方法来完成此任务,如果您与我们分享您要实现的目标,那么我们也许可以提出建议。

您说“这不是将br标签从xml转换为br转换为HTML”,但这不是disable-output-escapeing应该做的。如果原始源XML包含br标签,则XDM节点树将包含br元素节点,并且xsl:value-of将忽略该元素节点,无论是否禁用转义。也许您只是想使用xsl:copy-of而不是xsl:value-of

(如果您向我们展示了您的要求,而不仅是您的代码,那么对您的帮助也会更加容易。)