ответ

1

XSD 1.1 в настоящее время поддерживается Saxon и Xerces J. Оба должны бежать без проблем в Linux.

+0

Кажется, здесь сказать, что Xerces J поддерживает только XML 1.0? http://xerces.apache.org/xerces-j/ –

+0

Страница, на которую вы указываете, о Xerces J 1.4.4, выпущенной в 2001 году. [Примечания к выпуску] (http://diglib.hab.de/wdb. php? dir = drucke/6-3-quod-2f) предполагают, что поддержка XSD 1.1 была впервые добавлена ​​экспериментально в версии 2.7.0 Xerces J (текущая версия, по-видимому, равна 2.11.0). –

+0

Также не путайте XML 1.0 с XSD 1.0 – swornabsent

2

Я нашел удобную обертку Xerces-J: https://www.dropbox.com/s/939jv39ihnluem0/xsd11-validator.jar

java -jar xsd11-validator.jar -sf my.xsd -if my.xml 

Вы можете обновить LIB Xerces-J разархивирования баночки, опуская новые Xerces-J в нем, а затем rezipping его банку

Reference

Edit: Обновлен ссылка на

+0

ссылка больше не работает. – CFreitas

1

xmllint, к сожалению, не может поддерживать XML-схемы 1 .1, но в качестве альтернативы он поддерживает схему на основе RelaxNG (включая все улучшения, аналогичные XML-схеме 1.1).

Ниже приводится процедура может быть использована для преодоления ограничений xmllint:

  1. реализовать проверки XML Schema версии 1.1 на основе кислорода редактор обратного генератора (на основе уже существующих файлов XML). it could be downloaded from here with the 1 month license free

  2. в результате XSD 1.1 файл не будет принят xmllint со следующими сообщениями об ошибках:

    xmllint --schema user.xsd --noout user.xml 
    user.xsd:565: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': Invalid value for maxOccurs (must be 0 or 1). 
    user.xsd:741: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element': Invalid value for maxOccurs (must be 0 or 1). 
    WXS schema user.xsd failed to compile 
    

    однако схема XML может быть преобразован в RelaxNG схему с помощью RNGConv инструмента, который является частью мы проект Kohsuke Кавагути пути применяя следующую команду преобразования:

    java -jar rngconv-20060319/rngconv.jar user.xsd > user.rng 
    
  3. resultin г файл RelaxNG схема может быть использована с xmllint:

    xmllint --relaxng user.rng --noout user.xml 
    user.xml validates