我正在处理MarkLogic查询控制台。我的XQuery文件不能正常工作,我正面临这个错误-- MarkLogic Xquery错误:
XDMP-意外:(err:XDMP 0003)意外令牌语法错误,意外Dollar_“
这是我正在执行的代码:
declare function fill:getA() as node()* {
for $projectId in /cf:Project/@Id/string()
$s := fill:getS($projectId)
$t := fill:getT($projectId) 发布于 2017-01-11 16:09:59
好的。在您在注释中提供了代码之后,我将其粘贴到票证中。在尝试格式化它之前,很明显,代码是错误的。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
...请注意,让在美元之前签字。这也是错误对你说的--“我不指望有一个美元符号.--很可能是因为它期望单词let。
我没有检查剩下的代码。这应该足以为您指出清理代码的方向。此外,使用一个查询感知编辑器也将有助于您在这里。
发布于 2019-11-15 04:20:58
在$s和$t解决和执行之前添加let变量。
https://stackoverflow.com/questions/41592693
复制相似问题