我正在尝试使用marklogic-9执行以下查询:
cts:element-value-match(xs:QName("cd:modificationDate"), "[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].000Z", ("type=dateTime","timezone=TZ"))来实现这一点,但这会给出以下错误:
[1.0-ml] XDMP-ARG: cts:element-value-match(xs:QName("cd:modificationDate"), "[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].000Z", ("type=dateTime", "timezone=TZ")) -- arg2 is invalid我想要做的是找出所有符合这个特定dateTime模式的文档。我们在这个元素上有一个日期范围索引- modificationDate。
我们如何最好地使用marklogic和xquery api来做到这一点。
发布于 2018-08-16 23:19:55
cts:element-value-match实际上只对字符串范围索引有用,即使在那里,它也只接受简单的通配符(*和?),而不是一般的正则表达式或日期格式。
如果您的范围索引是一个dateTime范围索引,那么每个值都必须符合适当的xs:dateTime格式,所以这个查询什么也不会告诉您。
这将为您提供在该元素中具有有效dateTime的所有URI的列表:
cts:uris("", (),
cts:element-range-query(xs:QName("modificationDate"), ">", xs:dateTime("0001-01-01T00:00:00"))
)https://stackoverflow.com/questions/51873018
复制相似问题