Перейти к содержанию

xsl:comment

Элемент xsl:comment используется для создания в конечном дереве узла комментариев. Содержимое элемента xsl:comment является шаблоном для строкового значения данного узла комментария.

Синтаксис

<xsl:comment>
  <!-- Содержимое: template -->
</xsl:comment>

Описание и примеры

Если при обработке содержимого xsl:comment создаются узлы, не являющиеся строковыми, фиксируется ошибка. XSLT-процессор может сигнализировать о такой ошибке. Если он этого не делает, то должен обработать ее сам, игнорируя неправильные узлы вместе с их содержимым.

Если результат обработки содержимого xsl:comment содержит строку -- или заканчивается символом -, фиксируется ошибка. XSLT процессор может сигнализировать о такой ошибке. Если он этого не делает, он должен сам обработать ошибку, поставив пробел после всех символов -, за которыми следует либо другой символ -, либо конец строки.

Пример 1

Код

<xsl:comment>
  This file is automatically generated. Do not edit!
</xsl:comment>

создаст следующий комментарий:

<!--This file is automatically generated. Do not edit!-->

Чтобы использовать атрибут select, добавленный в XSLT 2.0, можно включить элемент <xsl:comment> в таблицу стилей:

<xsl:comment
  select="concat('The second album is ', list/listitem[2])"
/>

В выходных данных HTML генерируется следующий комментарий:

<!--The second album is Only the Poor Man Feel It-->

Если элемент <xsl:comment> используется для генерирования кода JavaScript, завершите свой код комментарием JavaScript, как в следующем примере:

<SCRIPT type="text/javascript">
  <xsl:comment>
    // Скрыть код от старых броузеров
        function iOver(image)
        {
            if (browser="N3") document[image].src=eval(image
    + "over.src");
        }
    //
  </xsl:comment>
</SCRIPT>

Размещение двух косых черт в последней строке создает комментарий JavaScript. В этом случае интерпретатор JavaScript проигнорирует знак --> в конце комментария.

Пример 2

<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="news.xsl"?>
<news>
  <story1>Here is the top news story.</story1>
  <story2>Here is the next news story.</story2>
</news>
<?xml version="1.0" ?>
<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
  <xsl:template match="/">
    <HTML>
      <BODY>
        <xsl:comment>insert top news story</xsl:comment>
        <P>
          <xsl:value-of select="//story1" />
        </P>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>
<html>
  <body>
    <!--insert top news story-->
    <p>Here is the top news story.</p>
  </body>
</html>

Ссылки