【问题标题】:是否有可能使用 XSLT 检查 document() 路径是否存在?
【发布时间】:2022-01-17 09:30:21
【问题描述】:

我使用 XML 作为 XSLT 转换文件中的查找,使用 document() 函数将 XML 加载到 XSLT 变量中。现在,如果查找 XML 丢失,处理器会抛出错误。

在将 XML 文件分配给变量以供使用之前,有没有办法阻止或检查 XML 文件是否存在于 document() 中的指定路径(例如 document('c:\temp\lookup.xml') 中)在 XSLT 中?

【问题讨论】:

  • XPath 2 及更高版本中有一个函数fn:doc-available,XSLT 2 及更高版本也是如此。对于 Saxon Java、Saxon .NET、Saxon-C、Saxon-JS、XMLPime 和 Altova XML,有一系列适用于各种平台的 XSLT 2 或 3 处理器。

标签: xml xslt xslt-1.0


【解决方案1】:

如果查找 XML 丢失,处理器会抛出错误。

这符合specification 的规定:

如果检索资源时出错,则 XSLT 处理器可能会发出错误信号;如果它没有发出错误信号,它必须通过返回一个空节点集来恢复。

我不知道 XSLT 1.0 中有任何方法可以让您覆盖处理器的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 2011-09-06
    • 2012-06-08
    • 2019-04-03
    相关资源
    最近更新 更多