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:messageMDN (рус.)xsl:messageMSDN (en)