在@DimitreNovatchev 的文章Programming in XPath 3.0之后,并使用 BaseX GUI 作为测试环境,我尝试了一些定义接受函数作为参数的函数的示例。例如与
let $compose :=
function($f as function(), $g as function())
(其余代码与此错误无关,但您可以将其视为Function Composition下的第三个示例。)
我从 BaseX 收到此错误:
Error:
Stopped at 43-compose.xpath, 2/39:
[XPST0003] Expecting 'as', found ','.
检测到错误的点位于第二行,就在逗号之前。显然,处理器希望$f
参数声明不仅$f
应该是一个函数,而且还应该是函数的返回值。
我不知道 BaseX 的期望是否正确。据推测,Dimitre 的示例在他在 Balisage 进行演示之前已经成功测试。也许在那篇文章和 BaseX 发布之间的 XPath 3.0 规范中发生了一些变化?