我正在使用Eclipse的XQDT和Zorba 0.9.5。我试图从FLWOR表达式中调用Zorba内部函数zorba:print(...)
,但它会被忽略。
具体来说,我正在做类似以下的事情
import module namespace zorba =
"http://www.zorba-xquery.com/zorba/internal-functions";
for $l in list
let $bar := <hello />
let $foo := zorba:print($bar)
return (<nothing/>)
我不能单独使用print语句,因为FLWOR exressions中不允许使用顺序语句。
知道如何让print
来电吗?
答案 0 :(得分:0)
问题如下:
使用flwor-expression调用zorba:print。在一个flwor你有懒惰的评价,因为你不使用$ foo,zorba:print没有被执行。
所以为了让zorba:print执行,你必须在你的flwor中使用$ foo。
在zorba的下一个版本中,对新XQuery Scripting Extension的支持会更好,然后很容易强制执行副作用函数。