Добавление комментария в 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><![endif]</xsl:text>
</xsl:comment>
Для вывода [if IE 6] используем тег <xsl:text>, в строке <[endif] заменяем символ < на сущность <