2009-07-21 59 views
0

我使用Eclipse的XQDT和Zorba 0.9.5。我试图从FLWOR表达式中调用Zorba内部函数zorba:print(...),但它被忽略。Zorba(XQuery) - 使用打印功能

具体地说,我做类似如下的

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/>) 

我不能把打印语句自身,因为连续的语句在FLWOR exressions允许的。

任何想法如何我可以让print电话工作?

回答

0

这里的问题是:

您使用FLWOR表达式调用左巴:打印。在flwor你有懒惰的评价,因为你不使用$ foo,zorba:print不会被执行。

所以为了得到zorba:print执行,你必须在你的flwor中使用$ foo。

在下一个版本的zorba中会更好地支持新的XQuery Scripting Extension,然后它将很容易强制执行副作用函数。