Страницы: 1
Привет всем. Есть проблема, может кто сталкивался.
Пишу админ-интерфейс, все построено на 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)
Отсутствует
Страницы: 1