返回無效實體引用我有一個MarkLogic的XQuery文件下面的查詢,我看到下面的錯誤信息返回的XQuery文件中使用特殊字符
XDMP-ENTITYREF: (err:XPST0003) Invalid entity reference " " . See the MarkLogic server error log for further detail.
以下是我使用在XQuery代碼文件。
xquery version "1.0-ml";
declare variable $query :=
cts:or-query
((
cts:element-word-query(xs:QName("lines"),"l&l"),
cts:element-word-query(xs:QName("lines"),"pool & cue"),
cts:element-word-query(xs:QName("lines"),"look")
));
declare function local:do-query(){
element xml {
for $i in cts:uris((),(), $query)
let $item := doc($i)
return
element item {
element title { $item/title/string() }
}
}
};
local:do-query()
顯然2X標籤我找的是l&l
和pool & cue
。我還在另一個問題上研究了修復完整的建議,但無法弄清楚這是如何適合這個查詢的。如果我刪除了帶有特殊字符的字符,它會按預期工作。
任何想法?
此代碼在QConsole中運行得很好,因此可能存在不同的問題。你如何調用代碼,你確定你正在調用上面的代碼而不是其他東西?它可能是一個數據問題呢? – grtjn
是的代碼在qconsole中同意運行良好,但是當將所述代碼上傳到.xqy文件並嘗試在瀏覽器中運行它時,它就在那裏返回錯誤消息。預期的行爲是通過控制檯查看xml結果。 – Key
您是如何上傳.xqy文件的,您是否使用模塊數據庫上的QConsole Explore功能來檢查曾加載到數據庫中的.xqy文件是否正確? – grtjn