Какой HTML-тег можно использовать для принятия динамического имени класса в Orbeon Forms - PullRequest
1 голос
/ 14 сентября 2011

Я использую Orbeon Forms и хочу установить динамическое имя класса на div или span (или на любые теги, отличные от XForms, например xforms:output), чтобы с помощью этого класса CSS можно было установить группу элементов управления.

<div class="color-with-{if(/fetch/data1='Yes') then 'green' else 'red'}">

Но это не работает.Когда я смотрю на исходный код HTML после визуализации формы, кажется, что эта динамическая часть не обработана.

<div class="color-with-{if(/fetch/data1='Yes') then 'green' else 'red'}"
    id="xf-279">

Однако это динамическое назначение работает довольно хорошо с тегами Orbeon.

<xforms:output value="if ((xxforms:valid(instance('account-opening-setup'),true())) 
        and (xxforms:valid(instance('form-variables'),true())))
        then 'Complete' else 'Incomplete'" 
    class="validation-{if ((xxforms:valid(instance('account-opening-setup'),true())) 
        and (xxforms:valid(instance('form-variables'),true()))) then 'complete' 
        else 'incomplete'}" />

Посоветуйте, пожалуйста, какой тег HTML можно использовать для динамического присвоения имени класса, чтобы группа элементов управления следовала этому классу CSS.

1 Ответ

3 голосов
/ 14 сентября 2011

Те выражения, которые используют синтаксис {...XPath...}, называются шаблонами значений атрибутов (AVT), и Orbeon Forms поддерживают их в ряде атрибутов XForms и атрибутов HTML, включая class и style,Таким образом, ваш код выше должен работать.

Может случиться так, что AVT не интерпретируется, потому что ваш div не находится в пространстве имен XHTML.Я рекомендую всегда использовать префикс для ваших элементов.Определите xmlns:xhtml="http://www.w3.org/1999/xhtml" для корневого элемента, а затем используйте xhtml:div вместо div.Если это слишком неудобно, убедитесь, что у вас есть пространство имен XHTML в качестве пространства имен по умолчанию, объявленного в корневом элементе, с xmlns="http://www.w3.org/1999/xhtml".

...