【问题标题】:How to dynamically search/replace text with update in XQuery (exist-db)如何在 XQuery (exist-db) 中使用更新动态搜索/替换文本
【发布时间】:2016-04-26 14:34:15
【问题描述】:

我的意图是以某种方式自动清理源文件。如何在 XQuery 中做到这一点? (我对在内存中重建文档并将其存储为新文档不感兴趣。)在直接处理短而简单的元素的情况下,做类似的事情很容易,但是,我不知道该怎么做如果可能,为所有文本节点动态地。

我希望这样的事情可以奏效:

update replace $div[contains(., 'chapter')] with replace(., 'chapter', 'Chapter')

这会抛出err:XPDY0002 Undefined context sequence for 'self::node()' [source: String]

显然,在替换函数中使用. 处理上下文存在问题。但也许我一般不理解update 的东西。我只受到this article底部的启发。

【问题讨论】:

  • 将第二个. 替换为$div ?
  • 它似乎有效,一如既往的有趣!如果可以,请发布答案,我会确认。非常感谢。

标签: xquery exist-db


【解决方案1】:

with 右侧的表达式独立于左侧的表达式。所以这两个部分都需要一个明确的节点/上下文:

update replace $div[contains(., 'chapter')] with replace($div, 'chapter', 'Chapter')

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多