【问题标题】:Error "System function unparsed-text#1 is not available with this host language"错误“系统函数 unparsed-text#1 不适用于此宿主语言”
【发布时间】:2010-12-07 23:45:30
【问题描述】:

我正在使用 Saxon 执行以下 xquery;

fn:unparsed-text("text.txt")

但我收到以下错误消息;

javax.xml.xquery.XQException:
System function unparsed-text#1 is not available with this host language

那个错误信息是什么意思?

【问题讨论】:

  • 这意味着它知道该函数,但它在 XQuery 中不可用。 XQuery 3.0 将添加这个 XSLT 2.0 函数。但是,请记住 XQuery/XPath/XSLT 3.0 是 Working Draft,所以不要在生产环境中使用它们。最好使用稳定的扩展功能。即使开发自己的也不应该那么难。
  • 什么是“稳定的扩展功能”?我在哪里可以获得在撒克逊语中使用它的文档?我正在从 java 调用撒克逊引擎。
  • 好问题,+1。请参阅我的答案以获取解释和建议的解决方法。

标签: xquery saxon


【解决方案1】:

unparsed-text() 函数是 XSLT 2.0 独有的函数。它不是 XPath 2.0 函数

希望这可能会在 XPath 3.0 中有所改变。

由于您使用的是 Saxon,您可以尝试使用 saxon 扩展函数 saxon:transform() 并在转换中调用 unparsed-text()

【讨论】:

    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2019-11-12
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多