Добавление комментария в html-вывод из xslt-шаблонизатора

Материал из Umicms
Версия от 08:28, 14 апреля 2011; Alexh (обсуждение | вклад) (Новая страница: «== Задача == Добавить в html-код комментарий при использовании XSLT-шаблонизатора. Часто подобн…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Задача

Добавить в html-код комментарий при использовании XSLT-шаблонизатора. Часто подобная необходимость возникает при использовании хаков для браузеров IE.


Решение

Для добавления комментариев, которые будут добавлены в html код, в XSLT существует специальный тег:

	<xsl:comment> этот комментарий в html </xsl:comment>


В html будет отображено:

	<!-- этот комментарий в html -->


Комбинируя xsl-теги можно произвести вывод следующего комментария:

	<!--[if IE 6]>
          <script type="text/javascript" src="/js/ie_png.js"></script>
           <script type="text/javascript">
            ie_png.fix('.png, img');
            ie_png.fix('.png, input');
            ie_png.fix('.png, div');           
           </script>
        <![endif]-->


В xsl шаблон необходимо добавить:

<xsl:comment>
    <xsl:text>[if IE 6]></xsl:text>
        <script type="text/javascript" src="/js/ie_png.js"></script>
        <script type="text/javascript">
            ie_png.fix('.png, img');
            ie_png.fix('.png, input');
            ie_png.fix('.png, div');           
        </script>
    <xsl:text>&lt;![endif]</xsl:text>
</xsl:comment>


Для вывода [if IE 6] используем тег <xsl:text>, в строке <[endif] заменяем символ < на сущность <