XQuery-对具有另一个特定属性值的所有元素求和属性



我需要为每个产品添加余额"类型";使得剩余的是具有产品的总平衡的一个元素";类型";

这就是我的

let $input := <products>
<prod balance="20000" code="car"/>
<prod balance="50000" code="house"/>
<prod balance="50000" code="car"/>
</products>         
let $sum_val_car :=  sum($input//prod/@balance )
let $count_val_car := count($input//prod[@code='car'])
let $sum_val_house :=  sum($input//prod/@balance)
let $count_val_house := count($input//prod[@code='house'])


return  <products>
<prod count="{$count_val_car}" balance="{$sum_val_car}" code="car"/>
<prod count="{$count_val_house}" balance="{$sum_val_house}" code="house"/>
</products>

我需要以某种方式修改$sum_val_car$sum_val_house,以仅将具有code属性eqaul的元素求和为重复值。有办法做到这一点吗?

$input//prod[@code='house']/@balance

这从prod元素中选择balancecode="房屋">

解决方案是

let $sum_val_house :=  sum($input//prod[@code='house']/@balance)

最新更新