Validation xml avec xsd (xmlschema) pour dom et sax

Soyez le premier à donner votre avis sur cette source.

Vue 32 768 fois - Téléchargée 2 800 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
30 avril 2010 à 12:46
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
28 avril 2010 à 14:43
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
28 nov. 2008 à 11:19
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
27 nov. 2008 à 11:14
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
2 avril 2008 à 11:03
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.
Afficher les 14 commentaires

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.