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

时间:2016-07-13 16:58:42

标签: xquery marklogic entityreference f#-unquote

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

1 个答案:

答案 0 :(得分:6)

我假设你有类似的东西 -

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

您想要的结果是XML,看起来像 -

<info>LEARNING & MEMORY</info>

&符号肯定是问题,解决方法是使用&#34; repair-full&#34;选项。这个例子有效:

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