Die Fehlermeldung wurde in dem Forum schon einmal diskutiert. Leider ohne Erfolg und auch Google bringt nichts Sinnvolles zu tage. Ich habe ein XML-Dokument mit folgendem Aufbau:
Ich habe keine Möglichkeit das XML-Dokument zu verändern. Ich habe zum Validieren eine eigene XSD geschrieben die folgendermaßen aussieht:
Mit foldendem Java-Code versuche ich das XML-Dokument mit meinem eigenen XSD-Schema zu validieren:
Leider bekomme ich da immer die Fehlermeldung:
Kann mir da jemand weiterhelfen?
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<project
xmlns="http://www.developer.cognos.com/schemas/bmt/60/0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.developer.cognos.com/schemas/bmt/60/0 BMTModelSpecification.xsd">
</project>
Ich habe keine Möglichkeit das XML-Dokument zu verändern. Ich habe zum Validieren eine eigene XSD geschrieben die folgendermaßen aussieht:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://www.developer.cognos.com/schemas/bmt/60/0"
xmlns="http://www.developer.cognos.com/schemas/bmt/60/0"
elementFormDefault="qualified">
</xsd:schema>
Mit foldendem Java-Code versuche ich das XML-Dokument mit meinem eigenen XSD-Schema zu validieren:
Code:
SAXBuilder saxBuilder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true);
saxBuilder.setFeature("http://apache.org/xml/features/validation/schema", true);
File file = new File("C:/Program Files/model.xml");
FileInputStream fis = new FileInputStream(file);
File xsdFile = new File("C:/Program Files/testxsd.xsd");
//String projectNS = "http://www.developer.cognos.com/schemas/bmt/60/0";
saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",xsdFile.toURL().toString() );
Document doc = saxBuilder.build(fis);
Leider bekomme ich da immer die Fehlermeldung:
Code:
org.jdom.input.JDOMParseException: Error on line 5: cvc-elt.1: Cannot find the declaration of element 'project'.
Kann mir da jemand weiterhelfen?