2010-06-19 30 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不允許你做你想做的事 - 也許它會在未來的版本中修復。

相關問題