0
 let $ds := cts:search(
      fn:doc(),
      cts:and-query(
       (            
         cts:collection-query(('InProgress_Audit'))
       )
      )) where not(contains( $ds//TitleDate/text(), "Z"))

      return count($ds)

TitleDate 节点包含日期时间。

回报:

[1.0-ml] XDMP-ARGTYPE: (err:XPTY0004) fn:contains((fn:doc("/icis.dnr.audit.issue/E-STY/E-STY_201212072330_201212072330_20121207164208.xml")/ProductIssue/TitleDate/text (), fn:doc("/icis.dnr.audit.issue/E-TIO2-EU/E-TIO2-EU_20130307145047.xml")/ProductIssue/TitleDate/text(), fn:doc("/icis.dnr .audit.issue/F-ETHY/F-ETHY_201302221700_20130222055846.xml")/ProductIssue/TitleDate/text(), ...), "Z") -- arg1 不是 xs:string 类型?

4

1 回答 1

2

$ds//TitleDate/text()返回多个项目,而contains(...)只允许单个字符串作为第一个参数。

将 contains 移动到谓词中,因此每个输入都会调用它:

not($ds//TitleDate/text()[contains(., "Z")])
于 2013-07-18T14:23:42.740 回答