2010-06-19 51 views
1

我想创建一个xquery表达式插入一些新的节点,只有当条件为真,并返回错误,如果条件为假。我州的simplyfied版本是:XQuery,如果事情是真的更新,否则返回错误

let $a := [...] 

return 
    if($a/@something != "true") then (
    insert node (
      element {'Foobar'} { } 
     ) into $a/somenode 
) else ( 

) 

我的问题:每当如果把类似<Error/>到别的我得到一个错误“[XUST0001]没有更新的表达允许在此背景下”。

/电子邮箱:好吧...如果我正确理解这一点,我不能有更新表达式和返回值....所以我必须找到另一种方式。

回答

3

您可以使用fn:error()来引发错误,或者使用()不执行任何操作。不幸的是XQuery Update不允许你做你想做的事 - 也许它会在未来的版本中修复。

相关问题