Пример <xsl:message>

Этот пример демонстрирует использование элемента <xsl:message>.

Таблица стилей проверяет, что элемент <name> внутри элемента <record> заполнен.Если элемент <name> пустой, выводится сообщение о недопустимом XML-коде.

В XML-файле имя для элемента <name> во втором элементе record не указывается.

XML-файл (records.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="message.xsl" ?>
<records>
   <record>
      <name>David Perry</name>
      <address>222 Cherry</address>
      <phone>555-797-79797</phone>
   </record>
   <record>
      <name></name>
      <address>312 Elm</address>
      <phone>555-797-79797</phone>
   </record>
</records>

XSLT-файл (message.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

  <xsl:template match="/">
     <xsl:apply-templates select="*"/>
     <xsl:copy-of select="."/>
  </xsl:template>

  <xsl:template match="*">
     <xsl:apply-templates select="//record"/>
  </xsl:template>

  <xsl:template match="record">
     <xsl:if test="name=''">
         <xsl:message terminate="yes">A name field is empty.
         </xsl:message>
     </xsl:if>
  </xsl:template>

</xsl:stylesheet>

Вывод

Форматированный вывод представляет собой следующее сообщение об ошибке в Internet Explorer.

Поле имени пусто.

А это вывод обработчика:

<?xml version="1.0" encoding="UTF-16"?>

См. также

Справочник

Элемент <xsl:comment>