XQuery语法报错:预期'return'却发现';',请求协助排查
错误原因分析
err:XPST0003是XQuery静态语法错误,你的SVG_Bezier_Curve.xq第4行第79位违反了FLWOR表达式的语法规则——XQuery要求FLWOR语句必须以return子句收尾,你在此处误用分号;替代了return,导致语法结构不完整。
修复步骤
- 打开
/db/apps/HTML_Student/SVG_Bezier_Curve.xq,定位到第4行对应位置 - 将该位置的分号
;替换为return关键字 - 确保
return后紧跟你要输出的内容(比如XML节点、计算结果等)
代码示例对比
错误写法(匹配你的问题场景):
let $data := doc("/db/apps/HTML_Student/your-data.xml")//target-node;
正确写法:
let $data := doc("/db/apps/HTML_Student/your-data.xml")//target-node return $data
额外检查点
- 确认脚本中所有FLWOR表达式都遵循
for/let/where/order by return的结构,无遗漏return或误用分号的情况 - XQuery中仅在多个独立语句并列时才用分号分隔,FLWOR内部不能用分号替代
return
内容的提问来源于stack exchange,提问作者Speedlearner
相关产品推荐
相关产品推荐

