查询控制台与 .xqy 文件

Query console vs .xqy file

我在查询控制台中运行以下代码:

let $age := xs:integer(fn:days-from-duration(fn:current-date() - xs:date(/wl:leader/wl:dob/text())) div 365.25)

return $age

.xqy 文件中的以下内容:

for $leader in /wl:leader    
let $age := xs:integer(fn:days-from-duration(fn:current-date() - xs:date($leader/wl:dob/text())) div 365.25)
return $age

现在,两者很相似,但是当在查询控制台上 运行 时,我收到错误消息:arg1 不是 xs:duration 类型? 我知道错误是由 'fn:current-date()' 中的持续时间部分引起的,但为什么我没有遇到与 .xqy 文件相同的问题?

正如 Hunter 先生所指出的,代码中的差异解释了错误。

第二个示例在表达式中一次传递一个领导者。

第一个示例将所有领导者传递到期望单个领导者的表达式中。

希望对您有所帮助,