如果某些内容为true则更新的XQuery,否则返回错误

时间:2010-06-19 20:31:43

标签: xml xquery

我正在尝试创建一个xquery表达式,只有在条件为真时才插入一些新节点,如果条件为false则返回错误。我的州的简化版本是:

let $a := [...]

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

  )

我的问题:无论何时将<Error/>之类的内容放入else中我都会收到错误“[XUST0001]在此上下文中不允许更新表达式”。

/ e:好的......如果我理解正确的话我不能更新表达式和返回值....所以我必须找到另一种方式。

1 个答案:

答案 0 :(得分:3)

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