Я пытаюсь разобрать с помощью this schema, но я получаю следующее сообщение об ошибке:Ошибка загрузки XML-схема с Java
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:schemaLocation
s должны быть пробелы, но между ними уже есть пробелы. Некоторые из комментариев указывают, что это может быть проблемой с Eclipse, что, безусловно, возможно.
This question говорит, что это проблема с объявлением doctype, но я не знаю, где сопоставимый раздел кода находится в моем документе.
Я не уверен, если он работает. Я получаю другую ошибку синтаксического анализа на 'docBuilder.parse (file)'. Если это не связано, я с радостью приму ваш ответ и задаю еще один вопрос. – FracturedRetina
Любые указатели на то, как относиться к URI в Java? –