我正在使用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)
David Ennis.. 7
好.在评论中提供了代码后,我将其粘贴到您的票证中.在尝试格式化之前,很明显代码是错误的.xQuery中的变量赋值以let开头,如:
let $foo := bar
不
$foo := bar
因此,您从这里开始错误:
for $projectId in /cf:Project/@Id/string() $sourceCatalogId := fill ...
那应该是阅读:
for $projectId in /cf:Project/@Id/string() let $sourceCatalogId := fill ...
请注意,令美元符号之前.这也是错误对你说的 - "我不期待一个美元符号...... - 可能是因为它期望这个词让.
我没有检查其余的代码.这应该足以指出您清理代码的方向.此外,使用查询感知编辑器也可以帮助您.
好.在评论中提供了代码后,我将其粘贴到您的票证中.在尝试格式化之前,很明显代码是错误的.xQuery中的变量赋值以let开头,如:
let $foo := bar
不
$foo := bar
因此,您从这里开始错误:
for $projectId in /cf:Project/@Id/string() $sourceCatalogId := fill ...
那应该是阅读:
for $projectId in /cf:Project/@Id/string() let $sourceCatalogId := fill ...
请注意,令美元符号之前.这也是错误对你说的 - "我不期待一个美元符号...... - 可能是因为它期望这个词让.
我没有检查其余的代码.这应该足以指出您清理代码的方向.此外,使用查询感知编辑器也可以帮助您.