【发布时间】:2016-09-20 18:09:33
【问题描述】:
鉴于这份文件:-
<items>
<item><type>T1</type><value>V1</value></item>
<item><type>T2</type><value>V2</value></item>
</items>
不出所料,我发现这会拉回cts:uris() 中的页面:-
cts:and-query((
cts:element-query(xs:QName('item'),
cts:element-value-query(xs:QName('type'),'T1')
),
cts:element-query(xs:QName('item'),
cts:element-value-query(xs:QName('value'),'V2')
)
))
但有点令人惊讶(至少对我来说)我也发现这也会:-
cts:element-query(xs:QName('item'),
cts:and-query((
cts:element-value-query(xs:QName('type'),'T1'),
cts:element-value-query(xs:QName('value'),'V2')
))
)
这似乎不对,因为没有单个项目具有 type=T1 和 value=V2。 对我来说,这似乎是一个误报。
我是否误解了cts:element-query 的工作原理?
(不得不说,这方面的文档不是特别清楚)。
或者这是 MarkLogic 努力为我提供预期结果的地方,如果我有更多或更好的索引,我得到误报匹配的可能性就会降低。
【问题讨论】:
标签: xquery marklogic false-positive