xsl:on-empty¶
Используется для того, чтобы сделать потоковой конструкцию условного содержимого. Выводит вложенное содержимое только в том случае, если содержащая последовательность не генерирует "обычного" содержимого.
Если эта инструкция появляется в конструкторе последовательности, она должна идти после всех остальных инструкций.
Хотя эта инструкция предназначена в первую очередь для облегчения написания потоковых приложений, она может быть полезна и независимо от потоковой обработки, чтобы избежать неоднократной оценки сложных условий.
Доступна в XSLT 3.0. Начиная с версии Saxon 9.8, доступна во всех изданиях. Реализована в Saxon-PE и Saxon-EE начиная с Saxon 9.7.
- Категория: инструкция
- Содержимое: sequence-constructor
- Допустимые родительские элементы: любой элемент XSLT, модель содержимого которого - sequence-constructor; любой литеральный элемент результата
Атрибуты¶
select?
- expression
Заметки по реализации Saxon¶
Новый в XSLT 3.0 и реализованный начиная с Saxon 9.7.
Примеры¶
Следующий код генерирует замещающий текст при отсутствии содержимого, однако он не является гарантированно-потоковым, поскольку обрабатывает дочерние элементы item-for-sale
более одного раза:
1 2 3 4 |
|
Чтобы сделать его потоковым, его можно переписать с помощью инструкции xsl:on-empty
:
1 2 3 4 5 6 |
|