【发布时间】:2009-07-28 15:00:00
【问题描述】:
我正在将 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 中得到一个空值。
我已经把头撞在桌子上一天半了,现在想弄清楚为什么这不起作用。任何解决此问题的帮助将不胜感激。
【问题讨论】:
标签: xquery