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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Знак & в поле 
V
    Опции темы
ShurikA
Дата 1.12.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

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



Если в стринге есть знак & то при попытке вывести его на экран через:
Код

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

естественно вылетает ошибка.
Каким образом можно жто дело режить?  кроме замены этого знака на &amp; 


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
sir_nuf_nuf
Дата 1.12.2008, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(ShurikA @  1.12.2008,  13:23 Найти цитируемый пост)
Каким образом можно жто дело режить?  кроме замены этого знака на &amp;  

никаким.
В XML & - должен всегда эскейпится -> &amp;
Если у вас в string содержится "&" - то ваш документ не является XML.

Я правильно понял вашу проблему ?


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
SnipeSP
Дата 2.12.2008, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вроде вопрос в тему топика:
есть в XML элемент 
Код

<с2>27.&amp;nbsp;4216</с2>

после того как я его прогоняю через шаблон
Код

<xsl:value-of select="с2"/>

получаю следующее
Код

27.&nbsp;4216

А надо как-бы пробел вместо &nbsp;, что делать?

XML менять не могу.

Это сообщение отредактировал(а) SnipeSP - 2.12.2008, 17:48
PM MAIL   Вверх
sir_nuf_nuf
Дата 4.12.2008, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



SnipeSP, по хорошему - ничего. Тот кто написал такой XML - плохо знает стандарт. Иначе бы он представил неразбиваемый пробел в виде юникод символа. А  автор этого XML сначала сделал HTML эскейп, а потом еще и XML. по факту XML содержит именно текст '&nbsp;' , а никакой не символ пробела.

Ну какое тут может быть решение..

Ту строку в которой такое встречается нужно руками разбирать и заменять текст '&amp;nbsp;' на ' '
Потому как cимвол неразбиваемого пробела в XML представляется именно так.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
jsa
Дата 4.12.2008, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(sir_nuf_nuf @  4.12.2008,  06:41 Найти цитируемый пост)
Ну какое тут может быть решение

Код

<xsl:value-of select="..." disable-output-escaping="yes" />



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


Новичок



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

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



Цитата(jsa @ 4.12.2008,  06:15)
Код

<xsl:value-of select="..." disable-output-escaping="yes" />

Не помогло =(

to, sir_nuf_nuf
пока приходится скриптом.

А правильный xml как должен выглядеть, можно пример?
PM MAIL   Вверх
jsa
Дата 4.12.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SnipeSP @  4.12.2008,  17:24 Найти цитируемый пост)
Не помогло =(

Код

<xsl:template match="c2">
    <xsl:variable name="c" select="." />
    <xsl:value-of select="$c" disable-output-escaping="yes" />
</xsl:template>



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


Новичок



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

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



Цитата(jsa @ 4.12.2008,  12:48)
Цитата(SnipeSP @  4.12.2008,  17:24 Найти цитируемый пост)
Не помогло =(

Код

<xsl:template match="c2">
    <xsl:variable name="c" select="." />
    <xsl:value-of select="$c" disable-output-escaping="yes" />
</xsl:template>

Код

<xsl:template match="_USD_|_EUR_">
<xsl:apply-templates select="с2"/>
</xsl:template>

и дальше все как у Вас написано. Не помогает =/
Т.е. все работает, проблем вроде в коде нет, но все равно  выводятся &nbsp;

Это сообщение отредактировал(а) SnipeSP - 4.12.2008, 13:23
PM MAIL   Вверх
jsa
Дата 4.12.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SnipeSP @  4.12.2008,  18:21 Найти цитируемый пост)
и дальше все как у Вас написано. Не помогает

xsl:output покажи

Добавлено через 4 минуты и 39 секунд
Цитата(SnipeSP @  4.12.2008,  18:21 Найти цитируемый пост)
и дальше все как у Вас написано. Не помогает =/

см. скрин

Добавлено через 7 минут и 4 секунды
Цитата(SnipeSP @  4.12.2008,  18:21 Найти цитируемый пост)
и дальше все как у Вас написано

xml, xslt в студию

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  __________.rar 13,08 Kb


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


Новичок



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

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



Код

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="root">
    <div class="content">
    <xsl:apply-templates select="course">
        <xsl:sort select="."/>
    </xsl:apply-templates>
    </div>
</xsl:template>

<xsl:template match="_USD_CB_|_EUR_CB_">
    <div class="text">
        <xsl:variable name="counter">
            <xsl:number count="*"/>
        </xsl:variable>
        
        <span class="bold" style="font-weight: bold;">
            <xsl:value-of select="name"/>
        </span>
        
        <span id="money_span{$counter}">
            <xsl:apply-templates select="dt2"/>
        </span>
    </div>
</xsl:template>

<xsl:template match="dt2">
    <xsl:variable name="c" select="." />
    <xsl:value-of select="$c" disable-output-escaping="yes" />
</xsl:template>

</xsl:stylesheet>

Код


<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="xsl.xsl"?>
<root>
   <weather>
       <index>27612</index>
       <name>Москва</name>
       <phenomen>5</phenomen>
       <t_min>-1</t_min>
       <t_max>+1</t_max>
       <press_avg>738</press_avg>
       <wind_avg>7</wind_avg>
       <wind_dir>З</wind_dir>
   </weather>
   <course>
       <_USD_CB_>
           <i>10</i>
           <img>green</img>
           <dt1>28/11</dt1>
           <dt2>27.&amp;nbsp;4216</dt2>
           <dt3>0.0653</dt3>
           <symb>&amp;#9650;</symb>
           <name>USD ЦБ РФ</name>
           <title>title=&quot;1 Доллар США&quot;</title>
       </_USD_CB_>
       <_EUR_CB_>
           <i>26</i>
           <img>grey</img>
           <dt1>27/11</dt1>
           <dt2>35.&amp;nbsp;4565</dt2>
           <dt3>0.2149</dt3>
           <symb>&amp;#9650;</symb>
           <name>EUR ЦБ РФ</name>
           <title>title=&quot;1 ЕВРО&quot;</title>
       </_EUR_CB_>
   </course>
</root>

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


Опытный
**


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

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



все нормально
вот что у меня получилось
по моему очень даже помогает, объясни что тебя конкретно не устраивает

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  xsl_output.rar 2,88 Kb


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


Новичок



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

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



Цитата(jsa @ 5.12.2008,  05:58)
все нормально

по моему очень даже помогает, объясни что тебя конкретно не устраивает

В общем попробовал в разных браузерах.
FF3 - USD ЦБ РФ27.&nbsp;4216
Opera - USD ЦБ РФ27. 4216

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


Опытный
**


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

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



у меня в FF3 нормально

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  __________.PNG 77,17 Kb


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

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

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

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

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


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

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


 




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


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

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