我对Marklogic和xquery一般都是新手。我们有一组文档,其截止日期为节点。有人可以帮助我使用xquery根据截止日期获取最新文档吗?每个文档看起来像
<document>
<Id>blah<Id>
<DeadlineDate>2012-04-04T21:00:00</DeadLineDate>
答案 0 :(得分:1)
您需要DeadlineDate
类型dateTime
的范围索引。
let $latest := cts:element-values(
xs:QName('DeadlineDate'), ('document', 'descending', 'limit=1'))
return /document[DeadLineDate eq $latest]
或者您也可以使用此表单:
(for $n in /document[DeadLineDate]
order by $n/DeadLineDate descending
return $n)[1]
我认为第一个通常会更快,但这可能值得测试。