簡體   English   中英

標記邏輯,Xquery

[英]Marklogic, Xquery

我在 MarkLogic 查詢控制台上工作。 我的 XQuery 文件工作不正常,我面臨這個錯誤 MarkLogic Xquery 請求錯誤:

XDMP-UNEXPECTED: (err:XPST0003) 意外的令牌語法錯誤,意外的 Dollar_"

這是我正在執行的代碼:

declare function fill:getA() as node()* { 
  for $projectId in /cf:Project/@Id/string() 
    $s := fill:getS($projectId)    
    $t := fill:getT($projectId) 

好的。 在您在評論中提供代碼后,我將其粘貼到您的票證中。 在嘗試格式化之前,很明顯代碼出錯了。 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
  ...

請注意美元符號前的 這也是錯誤對你說的 - “我不期待美元符號.. - 可能是因為它期待讓這個詞。

我沒有檢查其余的代碼。 這應該足以為您指明清理代碼的方向。 此外,使用查詢感知編輯器也將在這里為您提供幫助。

在 $s 和 $t solve 和 execute 之前添加 let 變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM