常見的 XSLT 錯誤

MIME 型別

您的伺服器需要同時傳送原始檔和樣式表,並且其 MIME 型別應為 XML 型別,即 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> 元素。

如果您想幫助實現上述任何功能,我們將非常感謝您的幫助。