Есть ли какой-либо инструмент командной строки, который проверяет XML на версию XSD 1.1?Инструмент командной строки Linux, проверяющий XSD 1.1?
Xmllint не подтверждает версию 1.1.
Есть ли какой-либо инструмент командной строки, который проверяет XML на версию XSD 1.1?Инструмент командной строки Linux, проверяющий XSD 1.1?
Xmllint не подтверждает версию 1.1.
XSD 1.1 в настоящее время поддерживается Saxon и Xerces J. Оба должны бежать без проблем в Linux.
Я нашел удобную обертку 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 его банку
Edit: Обновлен ссылка на
ссылка больше не работает. – CFreitas
xmllint, к сожалению, не может поддерживать XML-схемы 1 .1, но в качестве альтернативы он поддерживает схему на основе RelaxNG (включая все улучшения, аналогичные XML-схеме 1.1).
Ниже приводится процедура может быть использована для преодоления ограничений xmllint:
реализовать проверки XML Schema версии 1.1 на основе кислорода редактор обратного генератора (на основе уже существующих файлов XML). it could be downloaded from here with the 1 month license free
в результате 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
resultin г файл RelaxNG схема может быть использована с xmllint:
xmllint --relaxng user.rng --noout user.xml
user.xml validates
Кажется, здесь сказать, что Xerces J поддерживает только XML 1.0? http://xerces.apache.org/xerces-j/ –
Страница, на которую вы указываете, о 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). –
Также не путайте XML 1.0 с XSD 1.0 – swornabsent