我收到以下异常:
java.lang.IllegalArgumentException:无法加载实现由http://www.w3.org/2001/XMLSchema-instance指定的模式语言的SchemaFactory 在javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:204) 在MAIN.SchemaImport3.validateXMLSchema(SchemaImport3.java:74) 在MAIN.SchemaImport3.main(SchemaImport3.java:62)
这是我的代码:
URL source;
source = new URL(schemaList.getDocumentBaseURI());
SchemaFactory factory = SchemaFactory.newInstance(
XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);
答案 0 :(得分:11)
使用XMLConstants.W3C_XML_SCHEMA_NS_URI
:
SchemaFactory factory = SchemaFactory.newInstance(
XMLConstants.W3C_XML_SCHEMA_NS_URI
);
URI“http://www.w3.org/2001/XMLSchema-instance”(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI
的值)本身不是XML模式语言,而是XML Schema的属性(或功能或其他机制,如果您愿意)
W3C XML Schema的正确名称是“http://www.w3.org/2001/XMLSchema”(XMLConstants.W3C_XML_SCHEMA_NS_URI
的值)。