【问题标题】:Why is the XSLT disable-output-escaping not implemented in Firefox?为什么 XSLT disable-output-escaping 没有在 Firefox 中实现?
【发布时间】:2010-11-11 08:32:17
【问题描述】:

这是我最近在为一些由使用 CDATA 嵌入 XTHML 的应用程序生成的 XML 编写新 XSLT 时遇到的问题。通常我已经能够使用disable-output-escaping 正确呈现结果。

但是,在 Firefox 中,所有内容都显示为转义(即 &),而不是按预期呈现,因为 Firefox 在开发时往往是我的主要浏览器,这导致我失去了一些时间来试图弄清楚我在做什么在找到描述问题的Firefox Bug 98168 之前出错。

目前看来,这个问题不会在 Firefox 中实现,我一直在阅读该错误的 cmets,看起来这个决定是在 2001 年做出的。因此,我希望有人能够解释问题是什么,如果它在 2009 年仍然适用?另外,如果 Firefox 永远无法解决这个问题,除了使用其他浏览器之外,还有其他解决方法吗?

【问题讨论】:

  • 这个问题被标记为“标准合规”,但这里没有合规问题。正如您链接到的规范所说,“...XSLT 处理器不需要来支持禁用输出转义。如果 xsl:value-of 或 xsl:text 指定应该禁用输出转义并且XSLT 处理器不支持这一点,XSLT 处理器可能会发出错误信号;如果它没有发出错误信号,它必须通过不禁用输出转义来恢复。" Firefox 正是后者,对吧?我希望 Firefox 支持更多的 XSLT,但在这方面它符合标准。
  • 我不确定什么是“复活”。我发表评论是因为问题和答案的价值往往远远超过他们被问到的日期。 Firefox 中缺少 d-o-e 仍然是一个问题(请参阅与此问题相关联的 stackoverflow.com/q/29487039/423105),并且经常让 XSLT 开发人员感到惊讶,因为它不是很明显。正确标记时,Qs & As 的价值更大。但可能有人正在寻找有关此主题的信息,认为这是一个合规问题。
  • 如果有任何分歧的余地,我宁愿给 OP 一个机会来批准标签更改,但既然你不反对,我会继续更改标签。如果您愿意,评论的必要性是让您有机会为您的标签选择提出理由。我这样做是因为我很感激被这样对待。如果你不在乎,那也没关系。
  • @LarsH Stack Overflow 是一个社区 wiki,所以我们不“拥有”这些问题,我认为几周过去后,您可以放心地根据需要进行更改。

标签: xml firefox xslt


【解决方案1】:

https://bugzilla.mozilla.org/show_bug.cgi?id=98168#c99 和后续的 cmets 描述了 bug 的当前状态:“disable-output-escaping”可以在 Firefox 中实现,但在处理样式表时需要与 Firefox 的 XSLT 处理器使用的方法不同的方法(序列化+parse 而不是在处理样式表时创建 DOM 树)。补丁被接受,但似乎没有人打算花时间解决这个问题。

即使实现了,这样的样式表也需要更多的 CPU 资源来处理,Mozilla 开发人员表示通常有比使用 d-o-e 更好的解决方案。如果您在特定情况下需要帮助,您应该更详细地描述它(尽管我可能无法提供帮助)。

【讨论】:

    猜你喜欢
    • 2012-07-19
    • 2023-03-17
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2021-06-23
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多