Xalan XSD Transform занимает слишком много времени
Я пытаюсь использовать инструмент подмножества GML XSLT для преобразования схемы GML XSD. Платформа Windows 7 32-разрядная.
Он зависает при первой команде (по крайней мере, 10 часов на моем рабочем столе):
>xalan -o gml.dep gml.xsd depends.xslt
Есть ли опция, которая ускорила бы преобразование с учетом схемы?
Были опробованы альтернативные инструменты: Saxon HE, Altova XMLSpy. У обоих не хватает памяти в схеме GML.
РЕДАКТИРОВАТЬ: еще несколько фактов:
- GML версия 3.2.1
- Инструменты подмножества GML XSLT из Приложения G в спецификации
- Инструменты XSLT используют версию XSLT 1.0
1 ответ
Решение проблем с производительностью требует подробностей, а вы не дали никаких подробностей. Для начала, насколько велик исходный документ (то есть схема GML) и сколько памяти вы выделяете?
Учитывая, что вы пытаетесь обработать файлы XSD в качестве входных данных, и это обычно сложная задача, я полагаю, что основная проблема заключается в алгоритмической сложности таблицы стилей. Такую проблему часто можно решить с помощью разумного использования ключей.
Я был бы удивлен, если бы размер схемы GML превышал несколько мегабайт, поэтому проблема с памятью вряд ли была бы просто размером исходного документа; скорее всего это будут временные структуры данных, созданные внутри самой таблицы стилей. Но никто не сможет решить эту проблему без доступа к коду.