我认为答案是否定的,但问题已经提出来,所以我想确认一下。我的理解是,我在Form Builder中创建的任何自定义XBL控件都只能有一个值。这是对的吗?
我一直认为这是因为控件名称然后在数据实例中用作包含该值的节点的名称。
这个问题来自于希望拥有具有多个值的可重用组件,例如,地址控件,以便可以一致地记录地址,并且不需要多次添加相同的字段集。 Orbeon确实以Section模板的形式对此提供了一些支持,但由于控件名称在Section模板的每个实例中保持不变,因此对我们的设计不起作用。
我最好的想法是,记录多个值的自定义控件可以将所有值编码为单个文本字符串,例如在JSON中。当然,这并不理想。
还有其他选择吗?
答案 0 :(得分:1)
控件可能有多个值。当发生这种情况时,值通常存储在嵌套元素中。即控件可以绑定到元素<address>
,并可以创建嵌套元素<street>
,<city>
,<country>
等来存储地址的不同部分。
在实践中,您可以在图像注释注释控件(请参阅wpaint.xbl
)中查看如何完成此操作,该控件创建嵌套元素<image>
和{{1} },利用<annotation>
功能。