orbeon: улучшение возможности повторного использования кода orbeon - PullRequest
0 голосов
/ 19 января 2012

Если есть несколько полей даты с одинаковым ограничением или несколько текстовых областей с одинаковым ограничением
Можно ли повторно использовать ограничение, используемое связыванием, через аналогичные ограничения?

скажем, текстовая область 1 имеет ограничение

if(string-length(.) > 500)
    then substring(.,1,500)
else .

и текстовая область 2 имеет ограничение

if(string-length(.) > 500)
    then substring(.,1,500)
else .

возможно ли иметь ограничение в общем месте и при каждом связывании вызывать конкретное ограничение и повторно использовать код?

1 Ответ

1 голос
/ 19 января 2012

Вы можете объявить один bind, где выражение nodeset указывает на два узла, соответствующие вашим двум текстовым областям. Например:

<bind nodeset="/my-root/(text-area-1 | text-area-2)" constraint="…"/>

(В будущем в XForms может быть добавлена ​​возможность определять функции, которые больше похожи на многократно используемые выражения XPath, что позволяет вам также легко повторно использовать выражения XPath в других ситуациях.)

...