XQuery Недопустимая ошибка ссылки на объект, вызванная ссылкой на объект

Я пытаюсь запустить эту строку xdmp:unquote(concat('<info>', string( $paragraph) , '</info>')), но получаю следующую ошибку: xdmp:unquote("<info>LEARNING &amp; MEMORY</info>") -- Invalid entity reference " " at line 1. Похоже, что эта ссылка на объект &amp; вызывает проблему. Я попытался удалить его с помощью функции replace, но он все еще присутствует. Что я должен делать?


person s.e    schedule 13.07.2016    source источник
comment
Звучит так, будто без кавычек не обойтись..   -  person grtjn    schedule 13.07.2016


Ответы (1)


Я предполагаю, что у вас есть что-то вроде этого-

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

И что результат, который вы хотите, это XML, который выглядит так:

<info>LEARNING & MEMORY</info>

Амперсанд определенно является проблемой, и обходным путем является использование опции «полного восстановления». Этот пример работает:

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