常见的 XSLT 错误

MIME 类型

您的服务器需要使用 XML MIME 类型(text/xmlapplication/xml)发送源文件和样式表。要找出当前类型,请在 Mozilla 中加载文件并查看页面信息。或者使用下载工具,这些工具通常会显示 MIME 类型。

在 Firefox 6 及更高版本中,您还可以使用官方 XSLT MIME 类型:application/xslt+xml

命名空间

XSLT 1.0 命名空间为 http://www.w3.org/1999/XSL/Transform。较旧版本的 IE 使用不同的命名空间。但是,这些版本也使用了 XSLT 的草稿版本,该版本与最终成为 XSLT 1.0 规范的版本不兼容。Firefox 仅支持官方的 XSLT 1.0 版本。

缺少的功能

XSLT 1.0 规范中有一些功能,不幸的是 Firefox 尚未支持。具体来说

  • XPath 表达式中的 namespace:: 轴。希望将来可以支持此功能。
  • disable-output-escaping 属性。此功能控制序列化构造的输出文档的方式。但是 Firefox 从不序列化输出文档,因此该属性实际上不适用。虽然我们可以尝试添加一些启发式方法来序列化和重新解析仅应用了 disable-output-escaping 的输出文档的一部分,但启发式方法通常会出错并导致意外结果,因此我们一直不愿添加此功能。样式表中通常包含类似 <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text> 的代码,这相当于在样式表中放置 &#160;,这在所有 XSLT 引擎中都能很好地工作。我们确实意识到缺少 disable-output-escaping 是一个问题,我们希望找到解决方法,但到目前为止,我们还没有找到任何好的解决方案。
  • <xsl:namespace-alias> 元素。

如果您想帮助解决上述任何功能,我们将不胜感激。