You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MarkLogic控制台执行XQuery if-then语句遇语法错误求助

解决MarkLogic XQuery的Unexpected token语法错误

这个错误是因为你的XQuery代码违反了FLWOR表达式的语法规则,同时if-then-else的用法也有问题,我来帮你拆解修正:

错误原因

  • 在XQuery的FLWOR语句中,let子句之后必须紧跟return来指定要输出的表达式,你直接在let后面接if,解析器无法识别这个结构,所以抛出了Unexpected token syntax error, unexpected If_。
  • 另外,XQuery的if-then-else本身就是一个返回值的表达式,不需要在then和else后面单独加return关键字。

修正后的代码

let $name1 := "Bob" 
let $name2 := "John" 
return 
  if(fn:contains($name1, "Bo")) then 
    "Bob is good" 
  else 
    "John is good"

代码说明

  1. 用return把整个if表达式包裹起来,符合FLWOR语句let ... return ...的结构要求。
  2. 移除了then和else后的return,让if表达式直接返回对应的字符串结果。

这样修改后,代码就能正常执行,当$name1包含"Bo"时返回"Bob is good",否则返回"John is good"。

内容的提问来源于stack exchange,提问作者subsoft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:23:48