Здравствуйте, Lazarus, Вы писали:
L>Меня в принципе интересует, почему я теги не могу сам сформировать. L>Ведь должен же механизм disable-output-escaping работать!
DOE не обязан работать, производители трансформеров могут это делать как им охота
На самом деле подумай, если ты формируешь XML на выходе, то надо ли формировать твой невалидный "xml"?
В .NET можно трансформировать твой пример, если ты установишь метод трансформации в html (<xsl:output method="html" />)
P.S. Проверять твой код неохота. Я пользуюсь XmlDocument вместо XPathDocument. Но думаю что это не важно.
Re: глюк XSLTransform'a для < > (Вопрос в тему)
От:
Аноним
Дата:
24.04.03 13:14
Оценка:
Вопрос в тему:
если в нете нельзя осформировать тег при output="xml", то
можно хотя бы получить его из нода программным образом уже без ескейпинга символов.
то бишь мне надо сформировать поле to типа
Person name <info@somedomain.com>...
у меня получается так,
<message>
<to>Person name <info@somedomain.com></to>
...
<textbody>
...
message text
....
</textbody>
....
</message>
как получить значение нода "to" без escaping-a,
вида "Person name <info@somedomain.com>"?
А>Вопрос в тему:
А>если в нете нельзя осформировать тег при output="xml", то А>можно хотя бы получить его из нода программным образом уже без ескейпинга символов. А>то бишь мне надо сформировать поле to типа
А>Person name <info@somedomain.com>...
А>у меня получается так,
А><message>
<to>Person name <info@somedomain.com></to> А>... А><textbody> А>... А>message text А>.... А></textbody> А>.... А></message>
А>как получить значение нода "to" без escaping-a, А>вида "Person name <info@somedomain.com>"?
Re[2]: глюк XSLTransform'a для < > (Вопрос в тему)
От:
Аноним
Дата:
24.04.03 13:32
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Вопрос в тему:
А>если в нете нельзя осформировать тег при output="xml", то А>можно хотя бы получить его из нода программным образом уже без ескейпинга символов. А>то бишь мне надо сформировать поле to типа
А>Person name <info@somedomain.com>...
А>у меня получается так,
А> <message>
А> <to>Person name <info@somedomain.com></to>
...
А> </message>
А>как получить значение нода "to" без escaping-a?
Нет, этого нельзя сделать. XSLT-преобразователь при output="xml" пользуется стандартными средствами вывода XML, которые просто не позволяют сформировать некорректный XML. А то, что ты пытаешься сделать, — это не корректный XML, то есть вовсе не XML.
С другой стороны, если рассматривать XML как информационный набор, то, что ты получаешь, — это именно то, что ты хочешь. Т. е. содержимым элемента to (на уровне данных, а не лексического представления) является "Person name <info@somedomain.com>".