有什么方法可以 link xform 绑定和 xform 操作吗?

Is there any way to link xform bind and xform action?

在表单中,当用户单击一个按钮时,它会显示一个弹出窗口 - 我将从用户那里获取输入 - 应该是 ID 类型 (http://books.xmlschemata.org/relaxng/ch19-77151.html)。

当用户点击保存时 - 它会调度一个事件,如果它的 ID 类型,它将把从弹出窗口中获取的输入添加到表单中的实例。

我不知道该怎么做?

我已经尝试使用绑定和提交-也就是说我没有任何端点到post-所以当错误不是类型验证错误时我正在修改所需的实例。

但这确实发送了一个不必要的 post 请求——我想避免这种情况。

我试过的发送不必要的 POST 请求的方法:

<xf:submission id="save-step" method="post" replace="none" ref="instance('addId')" >
        <xf:action ev:event="xforms-submit-error" if="event('error-type')!='validation-error'">
          <xf:insert ev:event="DOMActivate" nodeset="instance('addId')/step" at="last()" position="after" origin="instance('addStepId')/step"/>         
          <xf:dispatch ev:event="DOMActivate" name="popup-action-close" targetid="ModelId" />
        </xf:action>
      </xf:submission>
  <xf:bind nodeset="instance('addStepId')/step/name" type="xsd:ID"  constraint=" (count(instance('addId')/step/name[.=instance('addStepId')/step/name]) =0)" required="true()"/>

我希望不提交就完成:

<xf:action ev:event="save-step" >
          <xf:insert nodeset="instance('addId')/step" at="last()" position="after" origin="instance('addStepId')/step" />
          <xf:dispatch name="popup-action-close" targetid="ModelId" />
 </xf:action>
  <xf:bind id="checkStepName" nodeset="instance('addStepId')/step/name" type="xsd:ID"  constraint=" (count(instance('addId')/step/name[.=instance('addStepId')/step/name]) =0)" required="true()"/>

但我不确定如何将 xform 绑定附加到 xform 操作!

绑定无法附加到操作:在操作执行期间,绑定不是 re-evaluated。

所有绑定都是 re-evaluated,根据依赖关系,在操作执行后。

在一些非常特殊的情况下,需要在一系列操作中重新计算、刷新或重建。这就是指定 xforms:recalculate、xforms:revalidate、xforms:refresh 和 xforms:rebuild 操作的原因。