Нужна помощь с использованием Saxon-B (версия 9.1.0.8) с Java 1.4.2 - PullRequest
2 голосов
/ 11 августа 2011

Мне нужно преобразовать один XML-документ в другой, используя XSLT (пока из командной строки). Я должен использовать Java 1.4.2. Исходя из этого, кто-то рекомендовал использовать Saxon и предоставил XSLT. Кажется, все должно работать, но я потерялся.
Я больше прихожу из среды .NET и работаю с XML и XSLT, но не с Saxon, и я не настолько силен в Java.

Позвольте мне начать с объяснения моей проблемы и того, что я пробовал до сих пор:
Ошибка:
C:\Projects\new_saxon_download>java net.sf.saxon.Transform -s:source.xml -xsl:style.xsl -o:output.xml<br> Exception in thread "main" java.lang.NoClassDefFoundError: org/xml/sax/ext/DefaultHandler2

        at net.sf.saxon.Configuration.(Configuration.java:2047)
        at net.sf.saxon.Transform.setFactoryConfiguration(Transform.java:81)
        at net.sf.saxon.Transform.doTransform(Transform.java:133)
        at net.sf.saxon.Transform.main(Transform.java:66)

Шаги, которые привели меня сюда:

  1. Я скачал Saxon-B по ссылке с этой страницы
  2. Я также нашел некоторую информацию о зависимости от SAX2 от этого page и, таким образом, получил это тоже.
  3. Установите CLASSPATH в моем сеансе:
    set CLASSPATH=.;C:\Projects\new_saxon_download\saxon9.jar;C:\Projects\new_saxon_download\sax2r2.jar
  4. Попробовал преобразование:
    java net.sf.saxon.Transform -s:source.xml -xsl:style.xsl -o:output.xml

Тогда я получаю ошибку, показанную выше. Я пробовал несколько поисков в Google, но ничего не помогло.

Любой совет или решение было бы очень полезно.

1 Ответ

2 голосов
/ 11 августа 2011

ПОЛУЧИЛ ЭТО - описание того, как исправить проблему зависимости, является дерьмом (извините).

Этот файл sax2r2.jar не тот, который вы должны добавить в путь к классам. Он содержит еще одну банку (sax.jar), и это библиотека, которая вам действительно нужна. Просто извлеките sax2r2.jar и поместите sax.jar в путь к классам, тогда он должен работать.


Дайте этому попытку: apache xml-commons включает в себя xml-api.jar. Я не могу сказать, применимо ли это к java 1.4.12, но стоит попробовать.

Бинарные выпуски можно найти здесь . Загрузите один из внешних архивов xml-commons-external, распакуйте xml-api.jar и добавьте его в свой путь к классам.

...