Je veux faire une validation d'un fichier XML en java via XSD :
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 :
<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
Partager