Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Заказать чарсет при трансформации XML [D7, WinXP]


xml ©   (2006-09-05 11:34:00) 

uses MSXML2_TLB; //ver3.0
var
aTemplate,aXmlData : IXMLDOMDocument2;
begin
.....
cStr := aXmlData.transformNode(aTemplate);
.....
end;


aTemplate и aXmlData содержат данные в кодировке windows-1251
Шаблон, кроме этого, содержит инструкцию:
<xsl:output method="html" encoding="windows-1251"/>

Проблема:
В результирующем документе (который загружается в TWebBrowser) указывается юникодный чарсет
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
и юзер видит кракозябры.

Вопрос:
Как сделать так, что бы этого тега вообще не попадало в результат, либо как добиться что бы был указан windows-1251

Примечание:
Если в исходный xml документ поместить ссылку на xsl
<?xml-stylesheet type="text/xsl" href="мой_шаблон.xsl"?>
и "скормить" его инетпроводнику, то в результате в браузере видим все по-русски.


xml   (2006-09-05 12:56:00) [1]

По ходу выяснилось, что transformNode здесь бессилен, так как игнорирует чарсет и всегда использует UTF-16
Надо использовать transformNodeToObject, но у него какая-то засада со вторым параметром.
Документ получается пустым.

Памагите, а?


Наверх

Титульная страница Поиск, карта сайта Написать письмо