我正在根据时间戳从米数据库中提取 uri 列表。这是代码 -
cts:uris( (), (), cts:and-query((
cts:collection-query("meters") ,
cts:element-value-query(xs:QName("mt:period"), "raw"),
cts:element-range-query( xs:QName("mt:end-time"), ">=", xs:dateTime("2018-02-17T05:37:00") ),
)
)
))
Run Code Online (Sandbox Code Playgroud)
但它包括keystore-raw.xml这不是我想要的结果集中的文件?如何将其从结果集中删除。父元素是keystore-metrics并且还具有诸如 之类的元素keystore-metric。我不想要任何 for 循环。
要确保文档中存在元素:
cts:element-query(xs:QName("Your-element"), cts:true-query())
Run Code Online (Sandbox Code Playgroud)
要确保文档中不存在元素:
cts:not-query(cts:element-query(xs:QName("Your-element"), cts:true-query()))
Run Code Online (Sandbox Code Playgroud)
为什么这有效?因为cts:element-query()确认该元素在文档中,并且 cts :true-query()满足 cts:element-query() 的要求