Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

| элемент xsl:otherwise

+-->

</xsl:choose>

<xsl:when

 test="выражение">

 <!-- Содержимое: шаблон -->

</xsl:when>

<xsl:otherwise>

 <!-- Содержимое: шаблон -->

</xsl:otherwise>

Элемент

xsl:choose
содержит один или несколько элементов
xsl:when
и необязательный элемент
xsl:otherwise
. При обработке
xsl:choose
процессор поочередно вычисляет выражения, содержащиеся в атрибутах
test
элементов
xsl:when
, приводит их к булевому типу и выполняет содержимое первого (и только первого) элемента, тестовое выражение которого будет равно
true
. В случае если ни одно из тестовых выражений не обратилось в "истину" и в
xsl:choose
присутствует
xsl:otherwise
, процессор выполнит содержимое этого элемента.

Элементы

xsl:choose
,
xsl:when
и
xsl:otherwise
можно совместно использовать для получения конструкции типа if-then-else. Условие вида "если выражение
A
истинно, то выполнить действие
B
иначе выполнить действие
C
", которое в других языках программирования может быть записано, к примеру, как

если

 верно условиеА

то

 выполнить шаблонB

иначе

 выполнить шаблонC

в XSLT может быть определено следующим образом:

<xsl:choose>

 <xsl:when test="условиеА">

шаблонB

 </xsl:when>

 <xsl:otherwise>

шаблонC

 </xsl:otherwise>

</xsl:choose>

Вместе с тем, условие вида "если — то — иначе" это не все, на что способен элемент

xsl:choose
. Возможность указывать несколько элементов
xsl:when
позволяет записывать более сложные условия выбора вида:

если

 верно условие1

то

 выполнить шаблон1

иначе если

 верно условие2

то

 выполнить шаблон2

 ...

иначе если

 верно условиеN

то

 выполнить шаблонN

иначе

 выполнить шаблонМ

Такой множественный условный переход совершенно прозрачно оформляется в виде следующей

xsl:choose
– конструкции:

<xsl:choose>

 <xsl:when test="условие1">

шаблон1

 </xsl:when>

 <xsl:when test="условие2">

шаблон2

 </xsl:when>

 <!-- ...
– ->

 <xsl:when test="условиеN">

шаблонN

 </xsl:when>

 <xsl:otherwise>

шаблонМ

 </xsl:otherwise>

</xsl:choose>

Циклическая обработка

Элемент xsl:for-each

Конструкция этого элемента такова:

<xsl:for-each

 select="выражение">

 <!-- Содержимое: несколько элементов xsl:sort, шаблон -->

</xsl:for-each>

Элемент

xsl:for-each
используется для создания в выходящем документе повторяемых частей структуры. Обязательный атрибут
select
указывает выражение, результатом вычисления которого должно быть множество узлов. Шаблон, содержащийся в
xsl:for-each
, будет выполнен процессором для каждого узла этого множества.

Пример
  • Читать дальше
  • 1
  • ...
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: