DOM4J (Xerces)

Résolu/Fermé
e.n.s.a Messages postés 14 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 juin 2009 - 7 déc. 2008 à 15:28
e.n.s.a Messages postés 14 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 juin 2009 - 11 déc. 2008 à 17:49
Bonjour,

J'ai créé un fichier XML utilsant DOM4J, et je dois le valider avec Xerces.
Quelqu'un sait-il comment peut-on le faire? (me filer un lien m'expliquant la démarche à suivre sera hyper génial)

merci par avance.

3 réponses

e.n.s.a Messages postés 14 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 juin 2009
7 déc. 2008 à 19:29
encore moi :D

je voudrais juste préciser que je cherche une validation par xerces à la volé, je veux dire qu'elle se lance automatiquement après la création d'un fichier XML.

et merci :D
0
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
8 déc. 2008 à 10:09
Salut,

Je ne sais pas avec dom4j, mais avec jdom pour valider ton fichier (i.e. tester sa bonne structure par rapport à un fichier schema), tu peux utiliser ceci:
parser = new SAXBuilder("org.apache.xerces.parsers.SAXParser"); //$NON-NLS-1$
parser.setIgnoringElementContentWhitespace(true);
parser.setValidation(true);
parser.setFeature("http://apache.org/xml/features/validation/schema", true); //$NON-NLS-1$
parser.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true); //$NON-NLS-1$
parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", //$NON-NLS-1$
					"file:props/es/" + schemaName);
...
document = parser.build(new StringReader(xmlToProcess)); // la validation se passe ici !!
J'imagine que ce n'est pas totalement différent avec dom4j.

++
0
e.n.s.a Messages postés 14 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 juin 2009
11 déc. 2008 à 17:49
merci pour votre réponse.
J'ai fini par la voie très simple: valider un doc XML à travers le parseur SAX de xerces-j à travers la classe XmlReader en faisant appel à org.apache.xerces.parsers.SAXParser.
et merci encore une fois de m'avoir répondu.
0