2013-07-18 2 views
0

Я использую Saxon 4.4.2 для преобразования DocBook в различные форматы (например, HTML, PDF, ePub). Я занимаюсь разработкой MacBook Pro с использованием Eclipse. Все написано на Java. На моем Mac все работает нормально. Когда я использую Eclipse для создания развертываемого подключаемого модуля, скопируйте подключаемый модуль и переместите его в мою установку Eclipse в Windows 7 и запустите преобразование из DocBook в HTML, отчеты Saxon «Не удалось скомпилировать таблицу стилей. 1 обнаружена ошибка».Почему Saxon Report работает правильно на Mac, но не в Windows?

ошибка происходит от

com.icl.saxon.TransformerFactoryImpl, метод newTemplates линии 120.

называют

com.icl.saxon.TransformerFactoryImpl, метод newTransformer, линия 72.

Моя визитная строка кода:

Transformer transformer = tfactory.newTransformer(xsl); 

Установка XSL осуществляется с помощью этой линии:

StreamSource xsl = new StreamSource(DocBookTransformer.class.getResourceAsStream("/lib/docbook-xsl-1.76.1/xhtml/docbook.xsl"); 

Почему бы Saxon процесс в таблицу стилей без ошибок на Mac, но не разобрать его на Windows, когда это одни и те же саксонские банки и один и тот же файл таблицы стилей, обрабатываемых на обеих машинах?

ответ

0

Saxon 4.4.2? Где же вы справились с этим? Возможно, компакт-диск в конце книги, опубликованной около 1998 года? Это предшествовало первому выпуску на SourceForge в 2001 году и, вероятно, предназначалось для работы на Java 1.1.8.

Итак, ваш первый шаг должен состоять в том, чтобы увидеть, не устранена ли проблема в более современном выпуске. Текущий выпуск 9,5.

Другое дело, чтобы выяснить, что такое ошибка, о которой говорит Саксон. Он будет отправлен в JAXP ErrorListener, и если вы ничего не измените, по умолчанию ErrorListener напишет сообщение в System.err.

То, что наиболее вероятно работает на одной платформе и сбой на другом, это URI в xsl: include и xsl: import, поэтому вы пытаетесь их проверить.

+0

Я думаю, что вы ошибаетесь в отношении номера версии. У меня нет записей 4.4.2. Оба версии 4.4 и 4.5 были выпущены примерно в середине 1999 года, прежде чем спецификация XSLT 1.0 была завершена, и было много поздних изменений в спецификации, поэтому сегодня продукт будет непригодным. –

+0

Извините за задержку. Я переехал через США в другое государство, и сейчас я возвращаюсь к этому. Я переключился на текущую версию. Ошибка, которую я получаю: «Ошибка в xxl: включить в строке 23 ... XTSE0165: ошибка ввода-вывода, сообщаемая синтаксическим анализатором XML ...» Строка 23 - это VERSION живет на том же как папка содержит файл docbook.xsl, для которого процессор возвращает ошибку. – user1519054

+0

Возможно, проблема заключается в чувствительности к регистру в именах файлов. –