正在關注@ DimitreNovatchev的文章Programming in XPath 3.0,並且使用BaseX GUI作爲測試環境,我嘗試了一些定義接受函數作爲參數的函數的示例。例如。與錯誤聲明XPath 3.0中的高階函數:必須聲明返回類型?
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規範可能有所變化嗎?