Мне было интересно, как использовать динамические элементы в Орбеоне. В песочнице Orbeon существует пример с названием dynamic-dropdown (http://localhost:8080/orbeon/xforms-sandbox/sample/dynamic-dropdown
).Динамические изменения элементов в текущей версии Orbeon?
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xxf="http://orbeon.org/oxf/xml/xforms">
<head>
<title>Dynamic dropdown depending on checkboxes</title>
<xf:model>
<xf:instance id="selected-values" xmlns="">
<instance>
<pets/>
<favorite/>
</instance>
</xf:instance>
<xf:instance id="pets" xmlns="">
<root>
<item name="Cat" value="cat"/>
<item name="Dog" value="dog"/>
<item name="Fish" value="fish"/>
<item name="Cobra" value="cobra"/>
</root>
</xf:instance>
</xf:model>
<style type="text/css">
.xforms-label { display: block; font-weight: bold }
</style>
</head>
<body>
<xf:select ref="pets" appearance="full">
<xf:label>Please list all your pets:</xf:label>
<xf:itemset ref="instance('pets')/item">
<xf:label ref="@name"/>
<xf:value ref="@value"/>
</xf:itemset>
</xf:select>
<br/>
<xf:select1 ref="favorite">
<xf:label>Select your favorite pet:</xf:label>
<xf:itemset>
<xf:label/>
<xf:value/>
</xf:itemset>
<xf:itemset ref="instance('pets')/item[@value = xxf:split(context()/../pets)]">
<xf:label ref="@name"/>
<xf:value ref="@value"/>
</xf:itemset>
</xf:select1>
</body>
</html>
Я тестировал в Орбеоне 4.8 и 4.9 и ничего не делал. Ни в коем случае, я имею в виду, что раскрывающийся список не заполняет выбранные элементы.
Я могу проверить его также в «открытой» песочнице (http://www.argonauta.org/orbeon/xforms-sandbox/sample/dynamic-dropdown) и здесь работает нормально. Но я не знаю, какая версия (может быть, 4.3).
Вопрос: является ли пример недействительным в текущей версии Orbeon? это ошибка? Если этот пример недействителен, какая модификация должна быть выполнена?
Jorge, действительно, выражение 'context() /../ pets' выглядит правильно для меня. На данный момент я создал проблему, и мы ее рассмотрим. https://github.com/orbeon/orbeon-forms/issues/2250 – avernet
Спасибо за ваше подтверждение! на данный момент изменение выражения работает как обходное решение для меня до следующего выпуска Orbeon. – JorgeHortelano
Получил это, и мы будем следить за ним, как только мы узнаем об этом, есть ли «хорошая» причина, почему это происходит, или это действительно ошибка. – avernet