Добавление комментария в html-вывод из xslt-шаблонизатора — различия между версиями
Материал из Umicms
Alexh (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 64: | Строка 64: | ||
</xsl:comment> | </xsl:comment> | ||
</source> | </source> | ||
+ | [[Категория:Верстка в XSLT]] |
Текущая версия на 20:02, 4 июня 2013
Задача
Добавить в 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] заменяем символ < на сущность & lt;. Рекомендуем изменять все символы >, < и тд на соответствующие html-сущности.
Еще один вариант добавления хака для IE:
<xsl:comment>
<![CDATA[
[if lt IE 8]>
<link type="text/css" rel="stylesheet" href="/css/style_ie.css" />
<![endif]
]]>
</xsl:comment>