以cts:element-values格式化日期时间

时间:2015-10-13 04:35:10

标签: xquery marklogic cts marklogic-8

我想在cts:element-values本身中格式化dateTime。有谁可以帮我解决这个问题?

我有一个dateTime格式字符串 -

let $date-format := "[Y0001]-[M01]-[D01]T[h01]:[m01]:[s01].[f1]"

我希望在像这样的查询中使用它 -

cts:element-values(
  xs:QName($field),
  (), 
  ($direction), 
  cts:and-query((cts:collection-query("urn:iddn:collections:searchable"), cts:query($cts-query)))
  )

如果$ field的类型为dateTime。

1 个答案:

答案 0 :(得分:2)

您可以通过编写用户定义的函数来完成此操作。 UDF作为map / reduce运行,因此即使使用大型数据集,它们也非常快。我根据dateTime数据写了一个example UDF to create a day-of-the-week facet。该示例基于MarkLogic 6,但仍应在MarkLogic 8中使用。

好处是UDF非常快。棘手的部分是你必须用C ++编写它。 MarkLogic文档的User-Defined Functions section中的完整文档。