powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML+XSL=HTML
8 сообщений из 8, страница 1 из 1
XML+XSL=HTML
    #36898928
Orion70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая проблема: Строится HTML на основе XML и XSL.
В одном из атрибутов тега XML находится HTML текст. Напрмер:
Код: plaintext
1.
<htmltext value='jsdghf <br> kjjjkhl <a href="123">kjfgh</a>'></htmltext>
(как вариант могу записать вместо <>" соответствующие & lt; & gt; и т.д.)
Как мне его вывести?
Код: plaintext
1.
<xsl:value-of select="@value"/> - так не работает (могут встречаться незакрывающие теги, напрмер <br> и атрибуты <a href=""/>)

Есть какой-либо способ вывести html текст как есть, без преобразований?
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36899054
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
<xsl:value-of select="@value" disable-output-escaping="yes"/>
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36899268
Orion70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
refreg
Код: plaintext
<xsl:value-of select="@value" disable-output-escaping="yes"/>

Так не будет работать, пробовал. Как я уже писал, в html разметке могут встречаться не закрывающие теги и атрибуты
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36899289
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Orion70,

Orion70могут встречаться не закрывающие теги и атрибуты
форматеру на это уже начхать.

я боюсь, что ваша проблема классическая для dotNet, и в исходной строке вместо < записанно не &gt; (иначе атрибут бы не сформировался), а &amp;gt; ну и так далее &amp;amp;gt;
такую штуку запрет эскейпинга не лечит, т.е. его прийдется делать либо два-N раза, либо парсить все строки с html хитрым рекурсивным шаблоном.
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36899548
Orion70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если вывести так:
<xsl:value-of disable-output-escaping="no" select="@value"/>
то вместо расметки выводятся теги:
Код: plaintext
1.
test <br> test
А если написать так:
<xsl:value-of disable-output-escaping="yes" select="@value"/>
выводится ошибка.
Если исправить html:
Код: plaintext
1.
test <br/> test
то все выводится отлично:
Код: plaintext
1.
2.
test 
 test
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36899578
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Orion70,

какой трансформер?
какой метод вывода, не XML случаем?
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36899585
Orion70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSXML2.DOMDocument.5.0, transformNode
XML
...
Рейтинг: 0 / 0
XML+XSL=HTML
    #36900443
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Orion70MSXML2.DOMDocument.5.0, transformNode
XML

не по сабжу, однако XML+XSL=HTML
поставте <xsl:output method="html" /> и радуйтесь жизни
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML+XSL=HTML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]