Xquery:将1秒和给定的时间戳相加

Xquery:将1秒和给定的时间戳相加,xquery,xquery-3.0,Xquery,Xquery 3.0,鉴于此,trades.xml: <trades> <trade stock="ACO" price="200" time="12:00:00.1"/> <trade stock="ACO" price="202" time="12:00:00.2"/> <trade stock="BCO" price="200" time="12:00:00.3"/> <trade stock="CCO" price="300" time="12:0

鉴于此,trades.xml:

<trades>
 <trade stock="ACO" price="200" time="12:00:00.1"/>
 <trade stock="ACO" price="202" time="12:00:00.2"/>
 <trade stock="BCO" price="200" time="12:00:00.3"/>
 <trade stock="CCO" price="300" time="12:00:00.4"/>
 <trade stock="CCO" price="299" time="12:00:00.5"/>
 <trade stock="CCO" price="290" time="12:00:00.6"/>
 <trade stock="ACO" price="200" time="12:00:00.7"/>
 <trade stock="ACO" price="205" time="12:00:03.1"/>
</trades>

因此–如何计算时间戳的总和?

当您想向字符串(
$s/@time
)添加持续时间(
$onesec
)时,会出现错误。将字符串(幸运的是格式合适)转换为时间:
$s/@time转换为xs:time+$onesec

“此查询不工作?”不是合理的问题描述。请查看并修改您的问题(编辑,不要作为评论发布),以便有人能够帮助您。
let $onesec := xs:dayTimeDuration('PT1S')
for sliding window $w
in doc("C:\Users\Lorenzo Enzino Vinci\Desktop\seminarioMontesi\trades.xml")//trade
start $s when $s/@stock eq "ACO"
end next $n when $n/@time > ($s/@time + $onesec) (: ******************** :)
let $occurrences := count ($w[@stock eq $s/@stock])where $occurrences gt 1
return <run stock="{$s/@stock}"
occurrences="{$occurrences}"
time="{$s/@time}"/>
"[XPTY0004] '+' operator: number expected, xs:dayTimeDuration found."
at line with (: ******************** :)