在XQuery中保留HTML标记

在XQuery中保留HTML标记,xquery,Xquery,我正在使用eXist进行一个工作项目,我遇到了一个似乎无法解决的问题 我有一个xquery脚本,它正在更新数据库中已有的文档。需要更新的部分数据包含HTML,特别是和标记。我无法让eXist/XQuery停止转义HTML。它需要以原始形式保存。下面是我正在做的一个非常简单的版本: <pre> declare variable $raw-content := request:get-parameter('content', '') declare variable $content :

我正在使用eXist进行一个工作项目,我遇到了一个似乎无法解决的问题

我有一个xquery脚本,它正在更新数据库中已有的文档。需要更新的部分数据包含HTML,特别是和标记。我无法让eXist/XQuery停止转义HTML。它需要以原始形式保存。下面是我正在做的一个非常简单的版本:

<pre>
declare variable $raw-content := request:get-parameter('content', '')
declare variable $content := local:clean($raw-content)
</pre>
<pre>
{update replace $n/sports-content/article/nitf/body/body.content with <body.content>{$content}</body.content>}
</pre>
稍后在代码中,我将更新一个特定的XML元素

现在,如果我只传入封装在一组标记(即foo

)中的数据,这将非常有效。如果我做了foo

bar

,我会在$text中得到一个空值


一天半以来,我一直在用头撞桌子,想弄明白为什么这样不行。如果您能帮助解决此问题,我们将不胜感激。

这似乎是util:parse的问题,而不是您代码的其余部分,我看不到任何替代方法来实现您的要求。您是否尝试过测试util:parse专门针对您在问题中给出的示例输入,即foo

bar

,以验证它确实没有正确解析多节点片段?

猜测:foo

bar

不是格式良好的无根元素,而foo

是格式良好的一个根元素

因此,请尝试util:parse html而不是util:parse

<pre>
{update replace $n/sports-content/article/nitf/body/body.content with <body.content>{$content}</body.content>}
</pre>