Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Условные комментарии для IE, провались он пропадом 
V
    Опции темы
kamagan
Дата 14.8.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 3.8.2009

Репутация: нет
Всего: нет



Подскажите как можно изловчиться и вставить через XSLT шаблон конструкцию условных комментариев для Internet Explorer.

Код

<!--[if IE]>
     <link rel="stylesheet" href="/style/000/style_IE.css" media="screen" />
<![endif]-->


С самим подключение стилей проблем нет, но вот условные комментарии победить не могу. Делаю так:

Код

<link rel="stylesheet" media="screen">
     <xsl:attribute name="href"><xsl:value-of select="style_IE"/></xsl:attribute>
</link>

PM MAIL   Вверх
diadiavova
Дата 14.8.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Код

      <xsl:text disable-output-escaping="yes"><![CDATA[<!--[if IE]>]]></xsl:text> 
<link rel="stylesheet" media="screen">
     <xsl:attribute name="href"><xsl:value-of select="style_IE"/></xsl:attribute>
</link>
      <xsl:text disable-output-escaping="yes"><![CDATA[<![endif]-->]]></xsl:text>


Это сообщение отредактировал(а) diadiavova - 14.8.2009, 19:04


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
kamagan
Дата 17.8.2009, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 3.8.2009

Репутация: нет
Всего: нет



Таким образом пробовал, получается всё равно

Код

&lt;!--[if IE]&gt;
     <link rel="stylesheet" media="screen" href="/style/000/style_IE.css"/>
&lt;![endif]--&gt;

PM MAIL   Вверх
diadiavova
Дата 17.8.2009, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



А какую программу для преобразования ты используешь?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
jsa
Дата 17.8.2009, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



kamagan, 
можно еще так 
Код

<xsl:comment>
                <![CDATA[[if lt IE 7]>
                    <link href="/view/css/ie.css" rel="stylesheet" type="text/css" />    
                    <script type="text/javascript" src="/view/js/jquery.ifixpng.js"></script>                    
                <![endif]]]>
            </xsl:comment>


Добавлено через 1 минуту и 37 секунд
хтмл на выходе 
Код

!--[if lt IE 7]>
                    <link href="/view/css/ie.css" rel="stylesheet" type="text/css" />    
                    <script type="text/javascript" src="/view/js/jquery.ifixpng.js"></script>                    
                <![endif]-->


Добавлено через 1 минуту и 54 секунды
взято из ие 6


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
kamagan
Дата 17.8.2009, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 3.8.2009

Репутация: нет
Всего: нет



Преобразование провожу на сервере linux / apache / php / php-xsl

Проблему удалось победить разбив условные комментарии на части, например таким образом:

Код

<xsl:text disable-output-escaping="yes">&lt;</xsl:text>
<xsl:text disable-output-escaping="yes">!--[if IE]></xsl:text>
     <link rel="stylesheet" media="screen">
          <xsl:attribute name="href"><xsl:value-of select="style_IE"/></xsl:attribute>
     </link>
 <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
 <xsl:text disable-output-escaping="yes">![endif]--></xsl:text>


Добавлено через 6 минут и 34 секунды
jsa, думаю что метод предложенный тобой мне не совсем подходит, так как мне нужно через XSL задавать файл CSS, а это значение у меня переменное и берётся из XML. А если я правильно понял, то в комментариях этого сделать неполучится.

Код

<link rel="stylesheet" media="screen">
     <xsl:attribute name="href"><xsl:value-of select="style_IE"/></xsl:attribute>
</link>


Добавлено через 10 минут и 33 секунды
Думаю тему можно считать закрытой, так как проблема решена. Всем спасибо.
PM MAIL   Вверх
mcTep
Дата 17.8.2009, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 1
Всего: 6



Странно, я пользуюсь следующим кодом для вывода любых комментариев и на выходи все нормально. Использую saxon9.
В точности такого примера я тут не видел.
Код

<xsl:comment><![CDATA[[if IE 6]>
            <link rel="stylesheet" type="text/css" href="/css/ie6style.css" />
      <![endif]]]></xsl:comment>


PM MAIL   Вверх
kamagan
Дата 17.8.2009, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 3.8.2009

Репутация: нет
Всего: нет



mcTep, а разве jsa не тоже самое предлагал?
PM MAIL   Вверх
mcTep
Дата 18.8.2009, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 1
Всего: 6



 smile сорри )
PM MAIL   Вверх
kamagan
Дата 18.8.2009, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 3.8.2009

Репутация: нет
Всего: нет



Можно немного проще чем я написал ранее:

Код

<xsl:text disable-output-escaping="yes">&lt;!--[if IE]&gt;</xsl:text>
     <link rel="stylesheet" media="screen">
          <xsl:attribute name="href"><xsl:value-of select="style_IE"/></xsl:attribute>
     </link>
<xsl:text disable-output-escaping="yes">&lt;![endif]--&gt;</xsl:text>


Просто применение CDATA вместе с disable-output-escaping="yes" - избыточно. Достаточно disable-output-escaping="yes", но приэтом символы "<" и ">" нужно заменять на сущьности, вот и всё.
PM MAIL   Вверх
diadiavova
Дата 18.8.2009, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(kamagan @  18.8.2009,  11:12 Найти цитируемый пост)
Просто применение CDATA вместе с disable-output-escaping="yes" - избыточно. Достаточно disable-output-escaping="yes", но приэтом символы "<" и ">" нужно заменять на сущьности, вот и всё. 

Ну это как посмотреть. У меня XML-редактор вводит блок CDATA автоматически, а так надо самому писать, да и...не короче это.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.3191 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.