Вышеупомянутое решение предполагает, что содержимое внутри условного комментария не содержит параметров XSLT. В приведенном ниже примере у нас есть параметр $DATA_ROOT_PATH
, который должен быть обработан, чтобы дать нам правильное расположение файла CSS. В этом случае <xsl:comment/>
не подходит. Мы должны использовать <xsl:text/>
и отключить выходное экранирование.
Пример здесь будет содержать файл CSS, только если мы используем IE7.
<xsl:text disable-output-escaping="yes"><!--[if IE 7]></xsl:text>
<link rel="stylesheet" type="text/css" href="{$DATA_ROOT_PATH}/resources/css/ie7.css" media="screen"/>
<xsl:text disable-output-escaping="yes"><![endif]--></xsl:text>
Пример кода будет генерировать выходной сигнал таким образом, если $DATA_ROOT_PATH
= /например:
<!--[if IE 7]>
<link rel="stylesheet" type="text/css"
href="/example/resources/css/ie7.css"
media="screen" />
<![endif]-->
Да .. Это работает :) Почему вы использовали первую строку кода? –
Голосование добавлено. ;-) Условный комментарий включен безоговорочно. Но IE оценивает комментарий как условный - если он оценивает true, код внутри запускается. – Tomalak