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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> escaping символов, почему? 
V
    Опции темы
magelan
Дата 5.4.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


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

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



Если лень морочится с валидностью, то javascript обычно пишут так:

<script TYPE="text/javascript">
<![CDATA[
if( a > b && a < c ) a++;
]]>
</SCRIPT>

Если атрибуты не требуют выбора, то ДядяВова абсолютно прав, если для вычисления требуются проверки, то существует еще такой способ:

<TABLE>
<TR>
<xsl:for-each select="$rows">
<TD>
<xsl:attribute name="BGCOLOR">
  <xsl:choose>
    <xsl:when test="position() mod 2 = 0">
       <xsl:text>#CCCCCC</xsl:text>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>White</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:attribute>
</TD>
</xsl:for-each>
</TR>
</TABLE>
PM MAIL   Вверх
nmn
Дата 5.4.2010, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(magelan @  5.4.2010,  15:54 Найти цитируемый пост)
Если атрибуты не требуют выбора, то ДядяВова абсолютно прав, если для вычисления требуются проверки, то существует еще такой способ:

<TABLE>
<TR>
<xsl:for-each select="$rows">
<TD>
<xsl:attribute name="BGCOLOR">
  <xsl:choose>
    <xsl:when test="position() mod 2 = 0">
       <xsl:text>#CCCCCC</xsl:text>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>White</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:attribute>
</TD>
</xsl:for-each>
</TR>
</TABLE> 


это к чему? smile

PM Skype   Вверх
magelan
Дата 5.4.2010, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


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

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



Цитата

а как же быть с тегами, где необходимо подставить значение в атрибут?
например <img href="подставляемое значение" />? 

к этому.

можно так: <IMG SRC="{$path}" />
можно так:
<IMG>
   <xsl:attribute name="SRC">
       <xsl:value-of select="$path" />
   </xsl:attribute>
</IMG>

задачи бывают разные, но чаще всего, конечно, используется 1й вариант.
PM MAIL   Вверх
davidoffpk
Дата 18.5.2010, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Тема ранее уже была поднята, но решение мне не помогает...

Через xslt преобразование хочу добавить к xml строчку, предположим:

Код

<НаимОрг> Контора "Рога и Копыта"</НаимОрг> 


На выходе получаю:
...
Код

<НаимОрг> Контора &quot;Рога и Копыта&quot;</НаимОрг>


Использую процессор Oracle 10g.

Пробовал выводить через CDATA ,

пробовал 
Код

<xsl:text disable-output-escaping="yes">Контора &quot;Рога и Копыта&quot;</xsl:text>


не помогает...

Подскажите, плиз, как решить этот вопрос...
PM MAIL   Вверх
diadiavova
Дата 18.5.2010, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Заключи свои "рога и копыта" в элемент text и установи соответстующий атрибут в нём.


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


Новичок



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

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



Код

<xsl:text disable-output-escaping="yes">Контора "Рога и Копыта"</xsl:text> 


Так?

Так я тоже пробовал, не помогло.

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


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


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

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



Тут всё может зависеть от того, на чём выполняешь преодразование. Особенностей поведения всех процессоров я не знаю, я только что скопипастил пример с твоего поста и выполнил в Visual Studio. Всё получилось нормально, если у тебя не работает как надо - ищи решение в документации по используемому тобой xslt-процессору.


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


потерял xPath
**


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

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



Код

<xsl:text disable-output-escaping="yes"><![CDATA[Контора "Рога и Копыта"]]></xsl:text> 

Так лопают все парсеры. Но проблема может быть не в парсере а в форматтере. Это та хрень, которая делает постобработку результата трансформера, глотает пробелы, убирает закрытие тегов типа br и img и занимается прочей ерундой.
PM MAIL   Вверх
nmn
Дата 31.5.2010, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



в движке gecko есть проблема с disable-output-escaping, точнее он его просто игнорирует и ескейпит в независимости от этого параметра

есть ли какие то решения?
PM Skype   Вверх
nmn
Дата 1.6.2010, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



нашел некоторый вариант решения моей проблемы, мне нужно было выводить теги <a>. Содержимое тега все заключено в <![CDATA[]]>, а для того чтобы включить в содержимое тег <a> приходится разрывать секцию <![CDATA[]]>, т.е. <![CDATA[[some content-data which I]><a>a tag data</a><![CDATA[[had to cut into two parts]]>, а в правилах преобразования добавить правило вывода для этого тега

но вот как быть с амперсандами и прочим?

Это сообщение отредактировал(а) nmn - 1.6.2010, 23:38
PM Skype   Вверх
magelan
Дата 7.6.2010, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


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

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



поменяй парсер.
увы, ничего умнее предложить не получается. 
я в 2000 году работал с xalan и таких "детских" проблем у него не было уже тогда.
Под виндами бессмертный MSXML, который по скорости трансформа просто Шумахер.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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