Как получить значение из конструктора форм как метку триггера? - PullRequest
0 голосов
/ 13 мая 2019

Я работаю над пользовательским управлением в 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 голосов
/ 30 мая 2019

Вы хотите получить доступ к атрибуту самого элемента управления:

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

Это в контракте с атрибутом, который вы можете иметь в элементе, к которому привязан элемент управления, на что указывает $binding,Так что $binding/@buttonName не является правильным выражением для использования здесь.Вместо этого, внутри вашего, вы хотите иметь:

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

Тогда вы можете ссылаться в XPath на значение атрибута как $buttonName.

...