我在工作中使用eXist作爲項目,並且遇到了一個我似乎無法找出解決方案的問題。在XQuery中保留HTML標記
我有一個正在更新已存在於數據庫中的現有文檔的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
。
我一直在頭撞桌子一天半,現在試圖找出爲什麼這不起作用。任何幫助解決這個問題將不勝感激。