如何从表单生成器获取价值作为触发器标签?

时间:2019-05-13 13:43:26

标签: orbeon xforms xbl

我正在研究Orbeon中的自定义控件。在表单构建器的设置中,有一个名为buttonName的字段。它的值应该显示为在表单运行器中可见的按钮标签。

我正在移动一个旧文件,该文件应该可以在orbeon的旧版本上使用。我尝试更改从表单构建器引用值的方式。下面我显示了旧代码,没有进行任何更改。

在表单构建器元数据中,我已使用ref声明了输入:

<xbl:binding element="fr|custom-input" id="fr-custom-input-binding" xxbl:mode="lhha binding value">
        <!-- Orbeon Form Builder Component Metadata -->
        <metadata xmlns="http://orbeon.org/oxf/xml/form-builder" xmlns:xf="http://www.w3.org/2002/xforms">
...
<control-details>
<xf:input ref="@buttonName">
                    ...

进一步,该绑定有一个变种

<xf:var name="binding" value="xxf:binding('fr-custom-input-binding')"/>

最后,表单运行器中的引用:

                <xf:trigger class="xbl-fr-custom-input-trigger">
...
                    <xf:label value="$binding/@buttonName"></xf:label>
                </xf:trigger>

1 个答案:

答案 0 :(得分:0)

您要访问控件本身上的属性:

<fr:custom-input buttonName="Your value">

这是您可以在控件绑定到的元素上具有的属性的缩写,即$binding所指向的属性。因此,$binding/@buttonName不是在此处使用的正确表达。相反,在您的内,您希望拥有:

<xf:var name="buttonName" xbl:attr="xbl:text=buttonName"/>

然后,您可以在XPath中将属性的值引用为$buttonName