代码之家  ›  专栏  ›  技术社区  ›  Martin Thurau

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

  •  1
  • Martin Thurau  · 技术社区  · 14 年前

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

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

    我的问题是:如果把 <Error/> 在else中,我得到一个错误“[XUST0001]此上下文中不允许更新表达式”。

    1 回复  |  直到 14 年前
        1
  •  3
  •   John Snelson    14 年前

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