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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «== Задача == Добавить в html-код комментарий при использовании XSLT-шаблонизатора. Часто подобн…»)
 
Строка 50: Строка 50:
  
  
Для вывода '''[if IE 6]''' используем тег '''<xsl:text>''', в строке '''<'''[endif] заменяем символ '''<''' на сущность '''&lt;'''
+
Для вывода '''[if IE 6]''' используем тег '''<xsl:text>''', в строке '''<'''[endif] заменяем символ '''<''' на сущность '''& lt;'''

Версия 08:28, 14 апреля 2011

Задача

Добавить в 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] заменяем символ < на сущность & lt;