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 错误,“系统无法找到指定的对象” - 并且转换错误。

我已经阅读了 XLST2.0 中的“可用文档”功能,但尝试使用它只会给我一个错误,即该功能不可用。

我见过这个问题:How check document is available in xsl? - 但我不想添加依赖于处理器的代码,所以我希望我只是错过了“doc-available”的一些东西。

4

1 回答 1

1

我认为XSLT 1.0 规范document()(IE 使用的 MSXML 是 XSLT 1.0 处理器)允许 XSLT 处理器执行“发出错误信号”或在调用失败时通过返回空节点集来继续。因此,MSXML 报告错误是允许的,而不是错误。您需要确保在 XSLT 之外该文件存在。

于 2012-04-05T10:16:31.403 回答