Я искал ответ на эту проблему весь день. Я создаю таблицу стилей для XML-документа среднего размера (~ 1,5 МБ, ~ 1000 элементов), что доставляет мне много хлопот. Речь идет о создании линейного графика событий и времени для различного оборудования перерабатывающих заводов. XML генерируется с помощью SAP MII QueryTempalte и имеет формат /Rowsets/Rowset/Row. Все эти данные обрабатываются и сохраняются в локальном наборе узлов в формате /Equipments/Equipment/Event. Этот набор узлов затем обрабатывается в HTML, а затем отображается в браузере. Теперь я начинаю сталкиваться с некоторыми проблемами. Я могу легко извлечь данные за последние 5 дней, в результате чего получается ~900 строк данных из MII, и они обрабатываются в моем формате узла, что дает чуть менее 900 строк. Но когда я набрал 1017 строк, полученных из MII, таблица стилей будет отображаться только наполовину, а затем остановится и появится исключение «Больше нет доступных идентификаторов DTM». Теперь на сервере MII работает только JDK 1.5.x, и я читал, что это может быть проблемой - единственное, что я ничего не могу с этим поделать. Итак, теперь я спрашиваю здесь: есть ли способ оптимизировать мой код?? Я прикрепил несколько ссылок на свой XSL и образец XML.
XSL: http://pastie.org/1566517 Пример XML: http://pastie.org/1566522
Теперь образец XML может не дать каких-либо «забавных» визуальных результатов и не сможет воспроизвести ошибку. Но если бы кто-нибудь мог заметить очевидную оптимизацию, я бы хотел знать :) Я думал, что было бы неплохо заменить/переместить вычисления для startOffset, endOffset и т. д., но я не могу понять, как это сделать.
Надеюсь, кто-нибудь может мне помочь! :)