Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№115-02-2006 04:23:02

Коля Дубр
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 25-03-2005
Сообщений: 31
Веб-сайт

Преобразования XSL в Firefox

Привет всем. Есть проблема, может кто сталкивался.

Пишу админ-интерфейс, все построено на XMLHttpRequest aka AJAX. Работать должен только под Firefox.

По событию даем запрос на сервер, тот возвращает данные в формате XML. Из этих данных нужно отрисовать кучу формочек и прочих эл-тов управления. Решил использовать XSL, т.к. через DOM много кода получилось бы. Плюс, используя XSL, можно быстро сделать аналогичный интерфейс на XUL, поменяв только шаблон (чтоб вместо HTML был XUL), и ничего не трогая ни в JS, ни в ответе сервера.

Делал, руководствуясь вот этой докой.

Т.е. ответ прогоняется через XSL-шаблон, лежащий во внешнем файле, собирается в fragment, а потом этот fragment назначается в нужный див:

var xproc = new XSLTProcessor();
var xmldoc = [ответ сервера, асинхронно полученный заранее];

var newFragment = xproc.transformToFragment(xmldoc, document);
document.getElementById('mydiv').appendChild(newFragment);

Все бы ничего. Но когда объем ответа XML вырос до ~50кб (структура у него довольно простая), на процессинг стало уходить секунд 15-20, при этом фокс раздувается в оперативки до 50 метров. Я в замешательстве. Такое же преобразование на моей же машине Sablotron делает меньше чем за секунду. Подозреваю, что дело в DOM-парсере. Есть ли какая-то возможность нормально использовать XSL на клиенте? Или придется городить огород через DOM?

Отредактировано Коля Дубр (15-02-2006 04:23:53)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]