我正在将 eXist 用于工作中的项目,但我遇到了一个我似乎无法找到解决方案的问题。
我有一个 xquery 脚本,它正在更新数据库中已有的现有文档。需要更新的部分数据包含 HTML,特别是<p>
标签</p>
。我无法让 eXist/XQuery 停止转义 HTML。它需要以原始形式保存。这是我正在做的一个非常简单的版本:
<pre>
declare variable $raw-content := request:get-parameter('content', '')
declare variable $content := local:clean($raw-content)
</pre>
local:clean
是以下函数:
<pre>
declare function local:clean($text) {
let $text := util:parse($text)
return $text
};
</pre>
稍后在代码中我更新了一个特定的 XML 元素
<pre>
{update replace $n/sports-content/article/nitf/body/body.content with <body.content>{$content}</body.content>}
</pre>
现在,如果我只传入包装在一组标签(即<p>foo</p>
)中的数据,这将非常有效。如果我这样做<p>foo</p><p>bar</p>
,我会在$text
.
我已经把头撞在桌子上一天半了,现在试图弄清楚为什么这不起作用。任何解决此问题的帮助将不胜感激。