在XQuery中保留HTML标记
我正在使用eXist进行一个工作项目,我遇到了一个似乎无法解决的问题 我有一个xquery脚本,它正在更新数据库中已有的文档。需要更新的部分数据包含HTML,特别是和标记。我无法让eXist/XQuery停止转义HTML。它需要以原始形式保存。下面是我正在做的一个非常简单的版本:在XQuery中保留HTML标记,xquery,Xquery,我正在使用eXist进行一个工作项目,我遇到了一个似乎无法解决的问题 我有一个xquery脚本,它正在更新数据库中已有的文档。需要更新的部分数据包含HTML,特别是和标记。我无法让eXist/XQuery停止转义HTML。它需要以原始形式保存。下面是我正在做的一个非常简单的版本: <pre> declare variable $raw-content := request:get-parameter('content', '') declare variable $content :
<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)中的数据,这将非常有效。如果我做了foobar,我会在$text中得到一个空值
一天半以来,我一直在用头撞桌子,想弄明白为什么这样不行。如果您能帮助解决此问题,我们将不胜感激。这似乎是util:parse的问题,而不是您代码的其余部分,我看不到任何替代方法来实现您的要求。您是否尝试过测试util:parse专门针对您在问题中给出的示例输入,即foobar,以验证它确实没有正确解析多节点片段?猜测:foobar不是格式良好的无根元素,而foo是格式良好的一个根元素 因此,请尝试util:parse html而不是util:parse
<pre>
{update replace $n/sports-content/article/nitf/body/body.content with <body.content>{$content}</body.content>}
</pre>