我正在使用MarkLogic查询控制台.我的XQuery文件无法正常工作,我遇到此错误MarkLogic Xquery请求错误:
XDMP-UNEXPECTED :(错误:XPST0003)意外的令牌语法错误,意外的Dollar_"
这是我正在执行的代码:
declare function fill:getA() as node()* {
for $projectId in /cf:Project/@Id/string()
$s := fill:getS($projectId)
$t := fill:getT($projectId)
Run Code Online (Sandbox Code Playgroud)
好.在评论中提供了代码后,我将其粘贴到您的票证中.在尝试格式化之前,很明显代码是错误的.xQuery中的变量赋值以let开头,如:
let $foo := bar
Run Code Online (Sandbox Code Playgroud)
不
$foo := bar
Run Code Online (Sandbox Code Playgroud)
因此,您从这里开始错误:
for $projectId in /cf:Project/@Id/string() $sourceCatalogId := fill
...
Run Code Online (Sandbox Code Playgroud)
那应该是阅读:
for $projectId in /cf:Project/@Id/string()
let $sourceCatalogId := fill
...
Run Code Online (Sandbox Code Playgroud)
请注意,令美元符号之前.这也是错误对你说的 - "我不期待一个美元符号...... - 可能是因为它期望这个词让.
我没有检查其余的代码.这应该足以指出您清理代码的方向.此外,使用查询感知编辑器也可以帮助您.