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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XML & XSLT -> DTD 
:(
    Опции темы
tishaishii
Дата 21.4.2012, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

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



данные:
Код

<root>
   <row>
     <name>Test</name>
     <value><![CDATA[....]]></value>
   </row>
   <row>
     <name>Test2</name>
     <value><![CDATA[....]]></value>
   </row>
</root>


составил шаблон:
Код

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="text" version="1.0" encoding="utf8" omit-xml-declaration="yes" standalone="yes" indent="yes"/> 
    <xsl:template match="/root/row">
        <xsl:text disable-output-escaping="yes"><![CDATA[<!ENTITY ]]></xsl:text>
        <xsl:value-of select="name"/>
        <xsl:text disable-output-escaping="yes"><![CDATA[ "]]></xsl:text>
        <xsl:value-of select="value"/>
        <xsl:text disable-output-escaping="yes"><![CDATA[">]]>
</xsl:text>
    </xsl:template>
</xsl:stylesheet>


Злонамеренно выводится, вместо "<" или ">", "&lt;" или "&gt;".
Что ему сделать-то? Нужен DTD.

Это сообщение отредактировал(а) tishaishii - 21.4.2012, 08:11
PM MAIL ICQ Skype   Вверх
diadiavova
Дата 21.4.2012, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



tishaishii, Ну не знаю, взял твой пример без изменения и у меня получилось вот что
Код


  <!ENTITY Test "<"> 
  <!ENTITY Test2 ">"> 

видимо зависит от того, на чем выплоняешь преобразование.

Добавлено через 1 минуту и 26 секунд
Не, одно изменение внес в элементе output в атрибуте encoding вместо utf8 написал utf-8


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


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

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



Да вот что-то как-то не выходит каменная чаша.

Добавлено через 2 минуты и 46 секунд
Ещё будет вопрос, чтобы в значении управляющие символы заменялись сущностями.
PM MAIL ICQ Skype   Вверх
diadiavova
Дата 21.4.2012, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(tishaishii @  21.4.2012,  09:48 Найти цитируемый пост)
каменная чаша

Ты хотел сказать цветок ? smile 
tishaishii, Ну что тут можно сказать, у разных процессоров есть свои особенности. Каким ты пользуешься - ты не указал, хотя желательно бы, может кто знает какие-то особенности его работы. Я выполнял преобразование с помощью Visual Studio.

Добавлено через 4 минуты и 53 секунды
Цитата(tishaishii @  21.4.2012,  09:48 Найти цитируемый пост)
Ещё будет вопрос, чтобы в значении управляющие символы заменялись сущностями. 

Так это надо текстовые узлы обрабатывать я думаю. Функции типа replace я как-то не припомню в хслт, так что видимо придется самому рекурсивный шаблон делать. Но не знаю, может и есть что-то готовое.


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


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

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



perl, XML::LibXSLT.
Для вывода пользуюсь методом toFH.
Хоть как, а выводится, вместо "<", "&lt;".
Да, для строк функции нужно будет дописать. Обработка текста на шаблонах очень дорогое занятие.

Это сообщение отредактировал(а) tishaishii - 21.4.2012, 09:10
PM MAIL ICQ Skype   Вверх
diadiavova
Дата 21.4.2012, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(tishaishii @  21.4.2012,  10:09 Найти цитируемый пост)
Да, для строк функции нужно будет дописать. Обработка текста на шаблонах очень дорогое занятие.

Ну если доступна такая возможность, то еснно лучше ее использовать, поскольку занятие это не только дорогое, но еще и геморное в реализации. 


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

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

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

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

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


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

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


 




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


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

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