Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT: потеря контента при преобразовании / 25 сообщений из 25, страница 1 из 1
26.04.2012, 14:21
    #37772387
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
Имеем таблицу преобразования для OfficeXML и в ней такой код

Код: xml
1.
<Font html:Color="#000000">&#x00FE;</Font>



после преобразования без моего желания получаю

Код: xml
1.
<Font html:Color="#000000">?</Font>



Почему такое происходит? как добиться чтобы остался верный код "þ" а не левый "?"
...
Рейтинг: 0 / 0
26.04.2012, 14:38
    #37772438
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
spПочему такое происходит?Какая кодировка исходного и полученного XML?
...
Рейтинг: 0 / 0
26.04.2012, 17:05
    #37772777
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
исходные файлы UTF-8 а результирующий пока UTF-16 (борюсь с жабой - пока безуспешно - она автоматически создает UTF-16)
...
Рейтинг: 0 / 0
26.04.2012, 18:38
    #37772934
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
Проверил трансформацию с помощью XMLHook утилиты - она почему-то тоже генерит UTF-16 хоть во всех файлах и объявление xml и output кодировка указано UTF-8
...
Рейтинг: 0 / 0
26.04.2012, 23:32
    #37773147
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
А может ошибки никакой и нет? Посмотрите в любом hex-редакторе какой код у вашего символа "?"
...
Рейтинг: 0 / 0
26.04.2012, 23:47
    #37773160
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
_Vasilisk_,

ну проблема в том что код может и останется темже, но символ который отображается - уже совсем не тот что мне нужен(
...
Рейтинг: 0 / 0
26.04.2012, 23:53
    #37773167
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
spну проблема в том что код может и останется темжеТогда это не вопрос к XML
spно символ который отображается - уже совсем не тот что мне нужен(А вопрос к отображению
...
Рейтинг: 0 / 0
27.04.2012, 00:30
    #37773195
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
_Vasilisk_,

это я с горяча сказал что останется тем же - он же меняет символ с "þ" на "?"
...
Рейтинг: 0 / 0
27.04.2012, 01:27
    #37773221
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
посмотрел в бинарном виде - меняется код с FE на 3Е
...
Рейтинг: 0 / 0
27.04.2012, 10:35
    #37773555
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
sp,

я пока не видел "промышленного" трансформера, который правильно работает с utf-16, вам она зачем? Вам все языки мира на странице + календарь майя что-ли показывать одновременно надо?
Живите в utf-8 все проблемы пропадут.
...
Рейтинг: 0 / 0
27.04.2012, 13:20
    #37774086
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
mage.lan,

дык в том и есть моя беда - я то хочу UTF-8, a java компилит в UTF-16 причем ни знаки на дороге, ни подмигивания ни свистки не помогают ей понять что надо UTF-8!
...
Рейтинг: 0 / 0
27.04.2012, 14:12
    #37774231
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
sp,

эммм. а вы вообще контролите, в какой кодировке трансформер получает предкомпиленный xsl и xml?
у явы есть все возможности, чтобы управлять кодировкой, но сдается мне, что вы где-то ленитесь.
...
Рейтинг: 0 / 0
27.04.2012, 14:13
    #37774233
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
да и попробовал на странице в IE при помощи javaScript скомпилить - тоже компилит в UTF-16 (((
...
Рейтинг: 0 / 0
27.04.2012, 14:13
    #37774234
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
да, еще, <xsl:output /> используете?
...
Рейтинг: 0 / 0
27.04.2012, 14:28
    #37774274
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
mage.lanда, еще, <xsl:output /> используете?

да -
Код: xml
1.
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
...
Рейтинг: 0 / 0
27.04.2012, 15:00
    #37774395
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
spда и попробовал на странице в IE при помощи javaScript скомпилить - тоже компилит в UTF-16 (((Код JS в студию
...
Рейтинг: 0 / 0
27.04.2012, 15:20
    #37774446
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
_Vasilisk_spда и попробовал на странице в IE при помощи javaScript скомпилить - тоже компилит в UTF-16 (((Код JS в студию

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
var sxml = '...';
var tmplt = new ActiveXObject("Msxml2.DOMDocument");
tmplt.preserveWhiteSpace = true;
tmplt.async = false;
tmplt.loadXML(sxml);

var dxml = '....';
var doc = dxml.transformNode(tmplt);
doc.save('...');
...
Рейтинг: 0 / 0
27.04.2012, 15:25
    #37774454
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
немножко приврал - dxml = req.responseXML
...
Рейтинг: 0 / 0
27.04.2012, 16:31
    #37774669
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
MSDN - Если файл начинается с метки порядка следования байтов ЮНИКОДА (0xFF 0xFE) или (0xFE 0xFF), документ будет считаться в кодировке UTF-16; в противном случае это в кодировке UTF-8.

Но всеравно не помогает((
...
Рейтинг: 0 / 0
27.04.2012, 16:41
    #37774710
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
нашел еще одну замечательную ссылку тынц
но всеравно хоть сейчас файл и сохраняется без UTF-16 - код символа меняется

Как мне сделать чтоб в результирующем документе сохранился исходный символ?
...
Рейтинг: 0 / 0
27.04.2012, 18:11
    #37774958
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
выяснил что символ заменяется уже при загрузке xslt

уже и так пробовал
Код: xml
1.
<xsl:text disable-output-escaping="yes" xml:space="preserve">&#254;</xsl:text>


всеравно после загрузки "þ" заменяется на "?"

Что делать?
...
Рейтинг: 0 / 0
27.04.2012, 19:02
    #37775030
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
Заменить
sp
Код: javascript
1.
var doc = dxml.transformNode(tmplt);


на
Код: javascript
1.
var doc = dxml.transformNodeToObject(tmplt, strm);


где strm - IStream
...
Рейтинг: 0 / 0
27.04.2012, 19:04
    #37775033
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
_Vasilisk_,

выше я привел ссылку на данное решение, но проблема оказалась не тут, а еще при загрузке xslt уже символ подменяется
...
Рейтинг: 0 / 0
28.04.2012, 13:59
    #37775900
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
Проблема решена: таблицу стилей надо сохранить в кодировке Windows и при ее загрузке не происходит перекодировки в UTF-16 т.е. не происходит преобразование спец-символа, а если сохранить в UTF-8 то при загрузке таблица стилей автоматически конвертится в UTF-16 что соответственно меняет код символа
...
Рейтинг: 0 / 0
09.05.2012, 13:42
    #37786793
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: потеря контента при преобразовании
spПроблема решена: таблицу стилей надо сохранить в кодировке Windows и при ее загрузке не происходит перекодировки в UTF-16 т.е. не происходит преобразование спец-символа, а если сохранить в UTF-8 то при загрузке таблица стилей автоматически конвертится в UTF-16 что соответственно меняет код символаЭто не правда. Сегодня столкнулся с такой же проблемой. XSL может быть в любой кодировке. Только эта кодировка должна быть явно указана в прологе XSL
Код: xml
1.
<?xml version="1.0" encoding="utf-8"/>

и все работает. А вот с таким прологом
Код: xml
1.
<?xml version="1.0"/>

MSXML действительно дает выхлоп в UTF-16
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT: потеря контента при преобразовании / 25 сообщений из 25, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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