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

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>

Ссылки