0
私はドロップセットの下に来るべきitemets(A、BおよびC)の3つのセットがあるように私は要件があります。各項目セットは、以下に示すようないくつかの条件に基づいて選択されます。Orbeon複数のxforms:select1->異なる条件のitemsetベース。の仕方?
現在、我々はこれを達成する方法私は項目セットA内の値の数を発見し、Bを使用して変数に-CNTとb_cntそれを割り当てられた項目セットCのアイテムセットAとアイテムセットB のための条件を持つグループを使用している<xxforms:variable name="itemset-A-cnt" select="count(instance('data')/nodeA)" />
<xforms:group ref=".[condition for itemset A]">
<xforms:select1 ref="." incremental="true" appearance="minimal">
<xforms:itemset ref="instance('data')/nodeA"> <!--itemset A displayed if some if condition is true-->
<xforms:label ref="@key" />
<xforms:value ref="@key" />
</xforms:itemset>
</xforms:select1>
</xforms:group>
<xxforms:variable name="itemset-B-cnt" select="count(instance('data')/nodeB)" />
<xforms:group ref=".[condition for itemset B]">
<xforms:select1 ref="." incremental="true" appearance="minimal">
<xforms:itemset ref="instance('data')/nodeB"> <!--itemset B displayed if some if condition is true-->
<xforms:label ref="@key" />
<xforms:value ref="@key" />
</xforms:itemseif if t>
</xforms:select1>
</xforms:group>
<xforms:group ref=".[$itemset-A-cnt =0 and $itemset-B-cnt =0]">
<xforms:select1 ref="." incremental="true" appearance="minimal">
<xforms:itemset ref="instance('data')/nodeC"> <!--itemset C displayed if itemset A and B is empty-->
<xforms:label ref="@key" />
<xforms:value ref="@key" />
</xforms:itemset>
</xforms:select1>
</xforms:group>
xxforms:variableを呼び出し、サイズチェックを伴うitemset Cのグループを作成しました。
ロジックが私に役立ちます。しかし、私はこれがこのようなことを達成する正しい方法ではないと思います。 アイテムセットにxxforms:ifのようなものを置く方法がある場合、私は単一のselect1でロジックを実行できます。
おかげで、私はそれを試してみて、あなたが知っているだろう。 –