现有db中混合内容节点上的范围索引

时间:2016-04-01 06:37:54

标签: 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,但我找到abc和{监视和分析窗口中的索引链接下的{1}}。还有搜索字符串

xyz

任何人都可以帮助创建复合内容的索引,例如//compound[.="abca b c"] giving 0 results. abca bc xyz x { {1}}等等..

由于

索尼

2 个答案:

答案 0 :(得分:0)

在xquery中,您必须使用compound函数才能返回所有后代或子元素值。 因此,要测试是否可以返回//compound/data()[.="abca b c"] 元素的值,您可以使用以下内容:

{{1}}

答案 1 :(得分:0)

 nested="yes" attribute solved the problem.

我已将范围索引更改为

<range>
    <create qname="compound" type="xs:string" nested="yes" />
</range>