代码之家  ›  专栏  ›  技术社区  ›  Prakash K Adel

查找具有适当“dateTime”格式的元素的文档

  •  0
  • Prakash K Adel  · 技术社区  · 7 年前

    我正在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做到最好。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Prakash K Adel    7 年前

    cts:element-value-match 只对字符串范围索引有用,即使在那里也只需要简单的通配符( * ? ),不是常规正则表达式或日期格式。

    xs:dateTime 格式化,所以这个查询不会告诉您任何信息。

    这将为您提供在该元素中具有有效日期时间的所有uri的列表:

    cts:uris("", (),
        cts:element-range-query(xs:QName("modificationDate"), ">", xs:dateTime("0001-01-01T00:00:00"))
    )