総コストを調べるには、通常の計算トリックを思いつくことができませんでした。そこで、この問題を解決するためにかなり小さな XQuery を使用しました。
フォーム ビルダーを使用しているのか、Xforms コーディングを「手作業で」使用しているかはわかりませんが、「手作業で」開発しています。以下は、Orbeon Xforms Sandbox で実行できる完全な Xforms コードです。
<xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:f="http://orbeon.org/oxf/xml/formatting"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<xhtml:head>
<xforms:model xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:xs="http://www.w3.org/2001/XMLSchema" id="main-model">
<xforms:instance id="form-instance">
<form>
<sale>
<number-of-units>1</number-of-units>
<unit-price>100</unit-price>
</sale>
<sale>
<number-of-units>2</number-of-units>
<unit-price>500</unit-price>
</sale>
</form>
</xforms:instance>
</xforms:model>
</xhtml:head>
<xhtml:body>
<table>
<tr>
<td>
Total price:
</td>
<td>
<xforms:output value="sum(
for $i in instance('form-instance')/sale
return $i/number-of-units * $i/unit-price
)
" />
</td>
</tr>
</table>
</xhtml:body>
</xhtml:html>
ブラウザ出力:

フォーム ビルダーを使用している場合は、必要に応じて結果式を取得し、バインド定義の計算属性に使用できます。
表現:
sum(
for $i in instance('form-instance')/sale
return $i/number-of-units * $i/unit-price
)
幸運を!