Orbeonフォームビルダーのフォームにリピーターコントロール(新しいリピート)が含まれているリピーターコントロール(新しいリピート)の各行(またはリピート)に3つのテキストコントロールがあるとします。各行の最初の2つのテキストコントロールに数値が含まれています。最初の2つのテキストコントロールの積を実行時にイベントなしで3番目のテキストコントロールに移動したい。実行時に複数の繰り返しがあります。つまり、行が増える可能性がありますが、それぞれの計算は実行時に多く反映されます。最初の2つの行の積は3番目の行の積で表示する必要があります
私は次のコードを使用しました:
if ($quantity castable as xs:double and $price castable as xs:double)
then $quantity * $price
else 'n/a'
リピーターコントロールに行が1つしかない場合は、このxpath式で問題ありません。ただし、新しい行を追加すると、つまり実行時に繰り返しを増やすと、すべての結果で3番目の列のコントロールがelse値に変更されます( "n / a ")。これは、リピーターコントロール(新しいリピート)の単一行に対してのみ機能します。繰り返しごとに、値は行ごとに個別に計算する必要があるためです。