Xalan XSD Transform занимает слишком много времени

Я пытаюсь использовать инструмент подмножества GML XSLT для преобразования схемы GML XSD. Платформа Windows 7 32-разрядная.

Он зависает при первой команде (по крайней мере, 10 часов на моем рабочем столе):

>xalan -o gml.dep gml.xsd depends.xslt

Есть ли опция, которая ускорила бы преобразование с учетом схемы?

Были опробованы альтернативные инструменты: Saxon HE, Altova XMLSpy. У обоих не хватает памяти в схеме GML.

РЕДАКТИРОВАТЬ: еще несколько фактов:

  1. GML версия 3.2.1
  2. Инструменты подмножества GML XSLT из Приложения G в спецификации
  3. Инструменты XSLT используют версию XSLT 1.0

1 ответ

Решение проблем с производительностью требует подробностей, а вы не дали никаких подробностей. Для начала, насколько велик исходный документ (то есть схема GML) и сколько памяти вы выделяете?

Учитывая, что вы пытаетесь обработать файлы XSD в качестве входных данных, и это обычно сложная задача, я полагаю, что основная проблема заключается в алгоритмической сложности таблицы стилей. Такую проблему часто можно решить с помощью разумного использования ключей.

Я был бы удивлен, если бы размер схемы GML превышал несколько мегабайт, поэтому проблема с памятью вряд ли была бы просто размером исходного документа; скорее всего это будут временные структуры данных, созданные внутри самой таблицы стилей. Но никто не сможет решить эту проблему без доступа к коду.

Другие вопросы по тегам