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。