我的意图是以某种方式自动清理源文件。如何在XQuery中做到这一点? (我对在内存中重建文档并将其存储为新文件不感兴趣。)在直接处理简短元素的情况下,做类似的事情很容易,但我无法弄清楚如何做到这一点动态地为所有文本节点,如果可能的话。
我希望这样的事情可以奏效:
update replace $div[contains(., 'chapter')] with replace(., 'chapter', 'Chapter')
这会抛出err:XPDY0002 Undefined context sequence for 'self::node()' [source: String]
显然,在替换函数中使用.
解决上下文时出现问题。但也许我一般不理解update
的事情。我只受到this article底部的启发。
答案 0 :(得分:2)
with
右侧的表达式与左侧的表达式无关。因此,两个部分都需要一个明确的节点/上下文:
update replace $div[contains(., 'chapter')] with replace($div, 'chapter', 'Chapter')