Validation xml avec xsd (xmlschema) pour dom et sax

Soyez le premier à donner votre avis sur cette source.

Vue 32 355 fois - Téléchargée 2 736 fois

Description

Petit code très simple ayant pour but de montrer comment configurer un parser DOM et SAX pour valider vox fichiers XML avec un XSD (XMLSchema).

Bon code

Source / Exemple :


static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";

static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";

static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";

// Pour DOM
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setIgnoringComments(true);
dbf.setNamespaceAware(true);
dbf.setValidating(true);
dbf.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
dbf.setAttribute(JAXP_SCHEMA_SOURCE, new File(xsdFile));

// Pour SAX
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
spf.setValidating(true);
SAXParser sp = spf.newSAXParser();
sp.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
sp.setProperty(JAXP_SCHEMA_SOURCE, xsdFile);

Pour le reste du code : in the zip !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

sdaec
Messages postés
4
Date d'inscription
vendredi 20 mai 2005
Statut
Membre
Dernière intervention
30 avril 2010
-
Utilise plutôt pour l'encoding : "UTF-8" que l'ISO-8859-1"
michelprudhon
Messages postés
3
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
28 avril 2010
-
Très intéressant ce petit code et très pratique.
Je rencontre tout de même un petit soucis avec la prise en compte de l'encoding "ISO-8859-1".
Si quelqu'un a une astuce sur le sujet...je ne suis pas contre ;-)
cs_kyryan
Messages postés
13
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
10 août 2012
-
Super !
Est ce qu'il y aurait la meme chose pour la validation d'un fichier XMI ?

:))
cs_kyryan
Messages postés
13
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
10 août 2012
-
Juste pour dire que ton code m'a enlevé une épine du pied alors merci bicou

K^^
sdaec
Messages postés
4
Date d'inscription
vendredi 20 mai 2005
Statut
Membre
Dernière intervention
30 avril 2010
-
Bon en consultant la doc officielle de la W3C le format de date est le suivant AAAA-MM-JJ donc un conseil pour ceux qui utilisent ce code: Respectez à la lettre les standards de la norme. Pour ma part j'ai du revoir toutes mes xsd pour les mettre à la norme et ce fut un gros travail. ;)

Bon courage et encore merci pour tout.

P.S: Attention au version de vos librairies dans vos projets, j'ai du mettre à jour certaines librairies pour que ça fonctionne.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.