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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экранирование спец. символов в XML 
:(
    Опции темы
Juggernaut
Дата 10.11.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дано:
Есть XML, в некоторых узлах которого встречаются специальные символы XML.
Например:
Код

<title>Предмет ценой в 100$</title>


При обработке данного XML посредтвом XSLT происходит ошибка при попытке получения значения данного узла:
Код

<xsl:value-of select="title"/> 
<!-- не пашет-->

Есть ли возможность решить данную проблему не прибегая к созданию специальных шаблонов для экранирования спец. символов?



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


Опытный
**


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

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



Цитата(Juggernaut @  10.11.2008,  21:26 Найти цитируемый пост)
<!-- не пашет-->

а поподробнее, 


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


Новичок



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

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



Код

<xsl:value-of select="title"/>

именно на этой строчке кода все валится, если её убрать все ОК
остальная логика не важна
PM MAIL   Вверх
jsa
Дата 11.11.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Juggernaut @  11.11.2008,  21:17 Найти цитируемый пост)
именно на этой строчке кода все валится, если её убрать все ОК

ну вообще-то с точки зрения xslt все верно, и должно работать на ура, а валится как именно


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


Новичок



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

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



У меня была проблема именно со знаком "доллара" - $ поскольку XSLT воспринимает его как начало переменной.
Нужно было его экранировать.
Почитал мануал на наш XSLT-процессор и выяснил, что чтобы вывести просто символ '$' нужно его экранировать вот так: '$$'
В общем, как всегда RTFM.  smile 
Все, тему можно закрывать.

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


Опытный
**


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

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



Цитата(Juggernaut @  12.11.2008,  17:00 Найти цитируемый пост)
Почитал мануал на наш XSLT-процессор

ради интереса, Ваш это который?


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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