J'ai deux fichiers xsd pour valider un fichier XML. Mais le problème est que mon code ne prend qu'un xsd. Comment utiliser d'autres xsd dans le code suivant? Je n'ai pas idée de l'endroit où je devrais placer/appeler le 2ème fichier xsd.Validation XML - Utilisation de plusieurs fichiers xsd
private void validate(File xmlF,File xsd1,File xsd2) {
try {
url = new URL(xsd.toURI().toString());// xsd1
} catch (MalformedURLException e) {
e.printStackTrace();
}
source = new StreamSource(xml); // xml
try {
System.out.println(url);
schema = schemaFactory.newSchema(url);
} catch (SAXException e) {
e.printStackTrace();
}
validator = schema.newValidator();
System.out.println(xml);
try {
validator.validate(source);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Avez-vous déjà essayé ['newSchema (Source [])'] (http://download.oracle.com/javase/1.5.0/docs/api/javax/xml/validation/SchemaFactory.html#newSchema (javax.xml .transform.Source []))? –
Oui. J'ai essayé de cette façon. Cela ne fonctionne pas, probablement parce que Source [] est utilisé pour xml. Nous ne pouvons pas transcrire xsd en source. – freepublicview
Comme pour la question précédente concernant ce projet de validation XML, je voudrais vous indiquer [SSCCE] (http://sscce.org/). Votre extrait de code est loin d'être complet car vous définissez des variables en dehors de cette méthode, etc. Mettre l'attention sur la façon dont vous posez votre question, nous aide à vous aider. – Wivani