Xml Orbeon XForms-HowTo:通过触发器复制中继器字段的值

Xml Orbeon XForms-HowTo:通过触发器复制中继器字段的值,xml,orbeon,xforms,Xml,Orbeon,Xforms,我有一个XForm,其中包含一个用于呈现表的转发器。表的每一行都有一个触发器。当触发器被激活时,我想为当前行获取表中一个单元格的值,并将该值复制到另一个实例 <xh:table class="dataTable"> <xh:tr> <xh:th>Date</xh:th> <xh:th>Copy?</xh:th> </xh:tr> <xf:repeat

我有一个XForm,其中包含一个用于呈现表的转发器。表的每一行都有一个触发器。当触发器被激活时,我想为当前行获取表中一个单元格的值,并将该值复制到另一个实例

<xh:table class="dataTable">
    <xh:tr>
        <xh:th>Date</xh:th>
        <xh:th>Copy?</xh:th>
    </xh:tr>

    <xf:repeat nodeset="instance('fr-form-instance')/Pathology/*:TimeSeriesStructure[*:Type/*:TypeId='ALB']/*:DataPoint">
        <xh:tr>
            <xh:td>
               <xf:output ref="*:DateTime"/>
            </xh:td>
           <xh:td>
               <xf:trigger xxf:modal="true">
                    <xf:label>Select</xf:label>
                    <xf:action ev:event="DOMActivate">
                         <xf:setvalue bind="target-bind">
                            <xf:output ref="*:DateTime"/>
                         </xf:setvalue>
                    </xf:action>
               </xf:trigger>
           </xh:td>
      </xh:tr>
   </xf:repeat>
 </xh:table>

日期
复制
挑选
在这种情况下,我希望在激活触发器时将日期字段的值复制到由“target bind”绑定的项


当前(如上所述),现有值(通过“目标绑定”绑定的元素)已被删除,但新值(*:DateTime)未被复制。

现在已解析。问题是setvalue部分中的目标绑定。这意味着输出正在寻找名为DateTime的绑定子节点。当它应该查看中继器正在渲染的节点时。将其移出变量并以这种方式访问它解决了问题

<xh:table class="dataTable">
     <xh:tr>
    <xh:th>Date</xh:th>
    <xh:th>Copy?</xh:th>
</xh:tr>

<xf:repeat nodeset="instance('fr-form-instance')/Pathology/*:TimeSeriesStructure[*:Type/*:TypeId='ALB']/*:DataPoint">
    <xf:var name="itemVal" value="*:DateTime"/>        
    <xh:tr>
        <xh:td>
           <xf:output value="$itemVal"/>
        </xh:td>
       <xh:td>
           <xf:trigger xxf:modal="true">
                <xf:label>Select</xf:label>
                <xf:action ev:event="DOMActivate">
                     <xf:setvalue bind="target-bind" value="$itemVal" />
                </xf:action>
           </xf:trigger>
       </xh:td>
  </xh:tr>

日期
复制
挑选