Проверка XML на соответствие схеме XSD 1.1 / XSD (с использованием Saxon-B / saxon 9.1.0.8) в командной строке (Linux)

Я уже несколько дней пытаюсь заставить работать проверку XML в командной строке Linux по схеме 1.1 / XSD. (Меня особо не волнует этот инструмент, поскольку это бесплатный инструмент для Linux, поддерживающий операторы xsd 1.1, такие как "assert")

Пока что я нашел / попробовал:

  • xmllint (кажется, он не поддерживает схему XSD 1.1?) (Я очень успешно использовал xmllint в прошлом для xsd 1.0)

  • Последняя версия Saxon поддерживает только проверку XSD с Enterprise Edition (EE), которой у меня нет.

  • многочисленные потоки здесь, в stackoverflow, включая инструмент, который один из них предоставил

  • Якобы это так же просто, как позвонить java com.saxonica.Validate [options] source.xml...

  • Я должен использовать -xsdversion:1.1 при вызове валидатора

  • Многие утверждают, что он работает с Saxon-B, но нет конкретного примера.

  • Я загрузил исходный код Saxon-B / saxon 9.1.0.8 из SF, но безрезультатно нашел класс com.saxonica.Validate (не должен ли это быть net.sf.saxon ...)

  • Звонок например:

./java -cp "<path to saxon libs>/lib/saxon-9.1.0.8.jar" com.saxonica.Validate /home/<myuser>/test.xml Fehler: Hauptklasse com.saxonica.Validate konnte nicht gefunden oder geladen werden

(«Не удалось найти основной класс») (Очевидно, мне нужно предоставить больше параметров для проверки на соответствие схеме, но поскольку класс не может быть найден, ...)

Запуск Java 1.7 build 71

bin$ ./java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

У кого-нибудь есть рабочий пример инструмента (желательно saxon-B), где я могу проверить XML на XSD 1.1 в командной строке Linux?

Спасибо,

e


person eee    schedule 26.04.2016    source источник


Ответы (1)


Чтобы использовать средство проверки схемы Saxon, вам потребуется Saxon Enterprise Edition; минимальная необходимая лицензия - EEV, которая стоит 90 фунтов стерлингов. Вы можете получить бесплатную 30-дневную ознакомительную лицензию на сайте www.saxonica.com. Обработка схемы недоступна в версиях Saxon с открытым исходным кодом (Saxon-B, Saxon-HE) и никогда не была.

Существует версия Apache Xerces, поддерживающая XSD 1.1, но, боюсь, я не могу вам помочь. Также существует коммерческая реализация XSD 1.1 от Altova.

person Michael Kay    schedule 26.04.2016
comment
Спасибо, Майкл, сейчас я оцениваю Saxon-EE, пока все выглядит хорошо. Теперь мне просто нужно привести выражение XPATH-2.0 к тому, что я хочу, чтобы оно делало ... - person eee; 10.05.2016