Текстовые поля могут быть использованы для отображения одного или другого текста, в зависимости от условия. Условные текстовые поля задаются с помощью условия и двух текстовых строк. Если условие истинно, отображается первая из текстовых строк. Если условие ложно, отображается другая текстовая строка.
С элементом <text:conditional-text> могут быть связаны следующие атрибуты:
условие;
текст, отображаемый в случае, если условие истинно;
текст, отображаемый в случае, если условие ложно;
текущее состояние.
Атрибут text:condition содержит логическое выражение. В зависимости от результата отображается значение атрибута text:display-if-true или text:display-if-false.
Отображаемый текст, если условие истинно
Атрибут text:string-value-if-true содержит текстовую строку, которая отображается, если условие вернуло значение true.
Отображаемый текст, если условие ложно
Атрибут text:string-value-if-false содержит текстовую строку, которая отображается, если условие вернуло значение false.
Текущее значение и состояние
Атрибут text:current-value содержит результат вычисления условия, заданного выражением в атрибуте text:condition. Результат, заданный в явном виде, позволяет приложениям отложить вычисление результата, пока он не потребуется. Этот атрибут полезен по следующим причинам:
если вычисление выражения требует больших издержек, например выражение содержит ссылки на несколько баз данных;
чтобы позволить преобразованиям корректно отображать состояние документа без необходимости анализа и вычисления условия.
Примечание - Значение этого атрибута перезаписывается каждый раз, как только приложение вычисляет выражение. Этот атрибут не имеет другой функции, кроме упрощения преобразования или первоначального отображения документа.