0

我正在研究 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">
                    ...

此外,该绑定有一个 var

<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>
4

1 回答 1

0

您想访问控件本身的属性:

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

这与您可以在控件绑定到的元素上具有的属性相结合,这就是$binding指向的内容。所以$binding/@buttonName在这里使用的表达方式不正确。相反,在您的内部,您希望拥有:

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

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

于 2019-05-30T06:36:52.307 回答