Je veux faire une validation d'un fichier XML en java via XSD :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SAXParser parser = new SAXParser();
parser.setFeature("http://xml.org/sax/features/validation",true);
parser.setFeature("http://apache.org/xml/features/validation/schema",true);
parser.setFeature("http://apache.org/xml/features/validation/schema-full-checking",true);
parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", SchemaXSDUrl );
Validator handler = new Validator();	
parser.setErrorHandler(handler);
parser.parse(XmlDocumentUrl);
Ceci fonctionne si mon fichier XML possède le nom de l'XSD dans son entête :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
<import xsi:noNamespaceSchemaLocation="nomfichier.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Or je récupère le fichier xml sans l'xsd dans l'entête. Mais dans le code java, je connais l'emplacement du fichier xsd. N'y-a-t-il pas un moyen de valider mon fichier xml avec son xsd sans avoir le lien xsd dans l'entête du XML?

Merci