XQuery由"&"引起的无效实体引用错误 实体参考

s.e*_*s.e 2 xquery entityreference marklogic f#-unquote

我正在尝试运行此行,xdmp:unquote(concat('<info>', string( $paragraph) , '</info>'))但我遇到以下错误:xdmp:unquote("<info>LEARNING &amp; MEMORY</info>") -- Invalid entity reference " " at line 1.看起来这个实体引用&amp;导致了问题.我试图使用replace函数删除它但它仍然存在.我该怎么办?

小智 6

我假设你有这样的事情 -

let $paragraph := <p>LEARNING &amp; MEMORY</p>
return
xdmp:unquote(fn:concat('<info>', fn:string($paragraph),'</info>'))
Run Code Online (Sandbox Code Playgroud)

而你想要的结果是XML看起来像 -

<info>LEARNING & MEMORY</info>
Run Code Online (Sandbox Code Playgroud)

&符号肯定是问题,解决方法是使用"修复 - 完整"选项.这个例子有效:

let $paragraph := <p>LEARNING &amp; MEMORY</p>
let $contents := xdmp:unquote($paragraph, "", "repair-full")
return
<info>{$contents}</info>
Run Code Online (Sandbox Code Playgroud)