求和重复部分计算值

Summing repeated section calculated value

我正在尝试对重复部分 (section-a-it) 内的计算值求和,并将结果放在重复部分外的计算值上,但它不起作用。

我尝试像

那样声明我的求和字段 (section-a-summary-total) 的公式

sum($section-a-it/section-a-it-iteration/section-a-repetition/section-data/section-value-total[string() castable as xs:decimal])

并且所有组合每次删除一个单独的节节点。

我的表单如下所示:

<form>
    <section-a>
        <section-a-summary>
            <section-a-summary-total/>
        </section-a-summary>
        <section-a-it>
            <section-a-it-iteration>
                <section-a-repetition>
                    <section-data>
                        <section-percent/>
                        <section-value/>
                        <section-value-total/>
                    </section-data>                                    
                </section-a-repetition>
            </section-a-it-iteration>                            
        </section-a-it>                        
    </section-a>
</form>

在每次迭代中 section-value-total 声明为 round-half-to-even($section-data-value* ($section-percent div 100))

当我在 section-percentsection-value 上引入值时

section-value-total 工作正常,但 section-a-summary-total 总是 0.00

我试过这个https://doc.orbeon.com/form-builder/formulas/formulas-examples#sum-of-values-in-a-repeat

我已在 https://pastebin.com/eTHqY0ia

中附上初始源代码

如果我尝试将其放入 sum() round-half-to-even($section-value[string() castable as xs:decimal] * ($section-percent[string() castable as xs:decimal] div xs:decimal(100)),2) 有时会在第一次迭代时起作用

在尝试了一些想法并对计算进行了一些更改之后,此时您的解决方案可以使用此版本 https://pastebin.com/6MSFq1WL 我能够更新值。我不得不输入 xxf:analysis.calculate="true" 因为只有在添加新行后才计算值。

尝试将您的 section-a-summary-total 字段计算为:

sum($section-value-total[string() castable as xs:decimal])

当您位于重复网格外部("iteration" 外部)并引用字段值时,表达式,在本例中为 $section-value-total、returns该字段的所有值的序列,您可以将其直接传递给 sum().