xsl:message¶
Элемент xsl:message
указывает процессору на то, что он должен вывести сообщение, которое является результатом обработки шаблона, содержащегося в этом элементе.
Механизм вывода сообщения зависит от реализации того или иного процессора и может быть различным — от вывода текста сообщения на экран до вызова внешнего модуля для обработки сообщения.
Синтаксис¶
1 2 3 |
|
Атрибуты:
terminate
- необязательный атрибут, указывает на то, должен ли процессор прекратить дальнейшую обработку документа или нет. Значением этого атрибута по умолчанию является "
no
", что означает, что процессор должен просто вывести сообщения и продолжать дальнейшее выполнение шаблона. Если же вxsl:message
указаноterminate="yes"
, то процессор, выведя сообщение, прервет обработку. Этот прием может использоваться, например, для того, чтобы проверять входящие документы на соответствие определенной схеме.
Описание и примеры¶
Пример 1¶
Иногда в процессе отладки преобразования бывает полезно выводить сообщения о том, какой элемент обрабатывается в данный момент.
Листинг 8.5. Входящий документ
1 2 3 4 5 6 7 |
|
Листинг 8.6. Преобразование
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Листинг 8.7. Выходящий документ
1 2 3 4 5 6 7 |
|
Листинг 8.8. Сообщения процессора
1 2 3 4 |
|
Атрибут terminate
указывает на то, должен ли процессор прекратить дальнейшую обработку документа или нет. Значением этого атрибута по умолчанию является "no
", что означает, что процессор должен просто вывести сообщения и продолжать дальнейшее выполнение шаблона. Если же в xsl:message
указано terminate="yes"
, то процессор, выведя сообщение, прервет обработку. Этот прием может использоваться, например, для того, чтобы проверять входящие документы на соответствие определенной схеме.
Пример 2¶
При помощи xsl:message
мы можем запретить обработку документов, которые не имеют в корне элемент с именем "html
" в любом регистре символов.
Листинг 8.9. Шаблон преобразования
1 2 3 4 5 6 7 8 9 |
|
Если мы будем обрабатывать документ вида
1 2 3 |
|
обработка не будет прервана, в то время как преобразование документа
1 2 3 |
|
будет прервано сообщением:
1 2 |
|
Ссылки¶
xsl:message
MDN (рус.)xsl:message
MSDN (en)