返回无效实体引用我有一个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