如何根据最新日期获取文档

时间:2012-04-10 14:03:16

标签: xquery marklogic

我对Marklogic和xquery一般都是新手。我们有一组文档,其截止日期为节点。有人可以帮助我使用xquery根据截止日期获取最新文档吗?每个文档看起来像

<document>
<Id>blah<Id>
<DeadlineDate>2012-04-04T21:00:00</DeadLineDate>

1 个答案:

答案 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]

我认为第一个通常会更快,但这可能值得测试。