【发布时间】:2015-03-27 23:08:46
【问题描述】:
我正在尝试使用 this schema 解析一个,但出现以下错误:
org.xml.sax.SAXParseException; systemId: http://www.khronos.org/files/collada_schema_1_4.xsd; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
...
这是我的代码的相关部分:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setValidating(true);
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
URL schemaURL = new URL("http://www.khronos.org/files/collada_schema_1_4.xsd");
Schema schema = sf.newSchema(schemaURL); //Line causing error
dbFactory.setSchema(schema);
DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
Document doc = docBuilder.parse(file);
doc.getDocumentElement().normalize();
This question 表示所有xsi:schemaLocations 之间应该有空格,但它们之间已经有空格。一些 cmets 暗示这可能是 Eclipse 的问题,这绝对是一种可能性。
This question 说这是 doctype 声明的问题,但我不知道我的文档中可比较的代码部分在哪里。
【问题讨论】: