2012-04-05 14 views
0

我見一個XLST文檔xsl文件測試在IE8和9中失敗?

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:str="http://xsltsl.org/string" xmlns:dt="http://xsltsl.org/date-time" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes"> 
<xsl:if test="document('../folder/somefile.xml')"> 
    <!-- do stuff --> 
</xsl:if> 

在IE8和IE9試圖處理在JavaScript錯誤這個文件的結果之後,「系統找不到指定的對象」 - 和變換蟲子。

我已閱讀關於XLST2.0中的'doc-available'函數,但試圖使用它只是給我一個錯誤,該函數不可用。

我看到這個問題:How check document is available in xsl? - 但我不想添加處理器相關的代碼,所以我希望我只是缺少'doc-available'的東西。

回答

1

我認爲the XSLT 1.0 specification(並且IE使用的MSXML是XSLT 1.0處理器)允許XSLT處理器執行「發出錯誤信號」或者在document()調用失敗時返回空節點集繼續。因此MSXML報告錯誤是允許的,而不是一個錯誤。您需要確保XSLT以外的文件存在。