IE8和9中的xsl文件测试失败?

时间:2012-04-05 08:44:09

标签: xslt xslt-2.0

我在XLST文档中有以下内容

<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错误,&#34;系统无法找到指定的对象&#34; - 并且改变了错误。

我已阅读过关于“可用文档”的文章。 XLST2.0中的函数,但尝试使用它只是给我一个错误,该函数不可用。

我已经看到了这个问题:How check document is available in xsl? - 但我不想添加依赖于处理器的代码,所以我希望我只是错过了&#39; doc - 可选&#39 ;.

1 个答案:

答案 0 :(得分:1)

我认为the XSLT 1.0 specification(以及IE使用的MSXML是一个XSLT 1.0处理器)允许XSLT处理器“发出错误信号”,或者在document()调用时返回空节点集继续失败。因此,允许MSXML报告错误而不是错误。您需要确保XSLT以外的文件存在。