xquery - 存在数据库中混合内容节点的范围索引

标签 xquery exist-db

我的 xml 文件具有结构

<root>
    <compound>abc<parts>a b c</parts></compound>
    <compound>xyz<parts>x y z</parts></compound>
</root>

我创建了一个范围索引
<range>
    <create qname="compound" type="xs:string"/>
</range>

我预计指数条款是 abca b cxyzx y z但我找到了 abcxyz在监视和分析窗口中的索引链接下。还有搜索字符串
//compound[.="abca b c"] giving 0 results.

任何人都可以帮助像abca这样的化合物的全部内容创建索引吗? b c , xyz x y z很快..

谢谢

索尼

最佳答案

在 xquery 中,你必须使用 data()函数以返回所有后代或子元素值。
因此,要测试 compound 的值是否可以返回元素,您可以使用以下内容:

//compound/data()[.="abca b c"]

关于xquery - 存在数据库中混合内容节点的范围索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36349596/

相关文章:

java - 使用 Commons Digester 解析成 HashMap

xml - 是否有针对现有 XML 文件的 XML XQuery 接口(interface)?

php - 如何从 PHP 绑定(bind) Zorba 中的 XQuery 外部变量?

java - 从大 xml 文件中提取大 xml block 的最佳方法

xquery - marklogic 6 - 如何将 xml 文档从共享路径位置加载到 marklogic DB

xpath - XQuery/Xpath 在命名空间环境中引用没有命名空间的 xml 元素

javascript - HTML 表单提交给出 400 错误请求

exist-db - 在 Linux 中的文件系统上查找存储在 exist-db 中的 XML 文件

xquery - XQuery中的element()与node()

xquery - & 在 xquery concat 中的使用