>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Преобразования XSL в Firefox http://forum.mozilla-russia.org/viewtopic.php?id=8386 |
Коля Дубр > 15-02-2006 04:23:02 |
Привет всем. Есть проблема, может кто сталкивался. Пишу админ-интерфейс, все построено на XMLHttpRequest aka AJAX. Работать должен только под Firefox. По событию даем запрос на сервер, тот возвращает данные в формате XML. Из этих данных нужно отрисовать кучу формочек и прочих эл-тов управления. Решил использовать XSL, т.к. через DOM много кода получилось бы. Плюс, используя XSL, можно быстро сделать аналогичный интерфейс на XUL, поменяв только шаблон (чтоб вместо HTML был XUL), и ничего не трогая ни в JS, ни в ответе сервера. Делал, руководствуясь вот этой докой. Т.е. ответ прогоняется через XSL-шаблон, лежащий во внешнем файле, собирается в fragment, а потом этот fragment назначается в нужный див: var xproc = new XSLTProcessor(); var newFragment = xproc.transformToFragment(xmldoc, document); Все бы ничего. Но когда объем ответа XML вырос до ~50кб (структура у него довольно простая), на процессинг стало уходить секунд 15-20, при этом фокс раздувается в оперативки до 50 метров. Я в замешательстве. Такое же преобразование на моей же машине Sablotron делает меньше чем за секунду. Подозреваю, что дело в DOM-парсере. Есть ли какая-то возможность нормально использовать XSL на клиенте? Или придется городить огород через DOM? |