Проверка правильности XML-схемы Xerces v2.12.0 - PullRequest
0 голосов
/ 14 ноября 2018

Xerces 2.12.0 утверждает, что поддерживает XSD 1.1 (https://xerces.apache.org/xerces2-j/faq-xs.html),, но я не могу пройти вызов SchemaFactory.newInstance.

Дополнительный контекст:

Эта строка не выполнена:

import javax.xml.validation.SchemaFactory;
//...
schemaFactory = SchemaFactory.newInstance("http://www.w3.org/XML/XMLSchema/v1.1");

За исключением:

java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specified by: http://www.w3.org/XML/XMLSchema/v1.1 could be loaded

Вот зависимость maven, которую я использую:

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.12.0</version>
</dependency>

В то время как я нашел несколько сообщений, требующих этогоработает, это не для меня.

Я видел людей, рекомендующих эту очень старую зависимость:

<dependency>
    <groupId>org.opengis.cite.xerces</groupId>
    <artifactId>xercesImpl-xsd11</artifactId>
    <version>2.12-beta-r1667115</version>
</dependency>

И да, это вроде работает, но я бы предпочел использовать Apacheверсия, тем более что она поддерживает XSD 1.1.

1 Ответ

0 голосов
/ 23 ноября 2018

Xerces-J 2.12.0 имеет два дистрибутива: один (Xerces-J-bin.2.12.0-xml-schema-1.1.zip), который поддерживает XML-схему 1.1, и один (Xerces-J-bin.2.12. 0.zip) что нет. Кажется, ваша зависимость Maven указывает на jar Xerces 12.2.0 без поддержки XML Schema 1.1. На сегодняшний день я не думаю, что версия XML Schema 1.1 была опубликована в Maven.

Сообщество Apache помогает делать Xerces доступными в репозиториях Maven. Вы можете поднять обсуждение здесь: https://issues.apache.org/jira/browse/XERCESJ-1695.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...