begin process at 2010 03 21 21:29:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Api

 > VALIDATION XML AVEC XSD (XMLSCHEMA) POUR DOM ET SAX

VALIDATION XML AVEC XSD (XMLSCHEMA) POUR DOM ET SAX


 Information sur la source

Note :
8 / 10 - par 9 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Api Classé sous :xml, schema, valiatin, dom, sax Niveau :Débutant Date de création :15/05/2005 Vu / téléchargé :23 584 / 2 302

Auteur : neodante

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


 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

  • 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 !
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 !


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

CONNEXION AU TRAVERS D'UN PROXY HTTP / FTP
Source avec Zip CONVERTISSEUR MYSQL VERS POSTGRESQL
Source avec une capture MANIPULER LA BARRE SYSTEME
Source avec Zip Source avec une capture TOUR DE HANOI GUI
Source avec Zip TUTORIAL VIDEO WEB SERVICE : LES FICHIERS

 Sources de la même categorie

Source avec Zip Source avec une capture LETMESEE : CAPTURE D'ÉCRAN À INTERVALLE RÉGULIER : UTILISATI... par pyo656
ENVOI D'UNE ARBORESSENCE EN JAVA VERS SERVEUR FTP par moumou95
ENREGISTRER L'ARBORESCENCE D'UN JTREE DANS UN XML AVEC JDOM par coltman
Source avec Zip WIZARD JAVA API par aissam36
JCONFIGURATIONMANAGER - GESTION DES CONFIGURATIONS par Francks11

 Sources en rapport avec celle ci

Source avec Zip EXEMPLE DE SAX POUR LA GÉNÉRATION DE CLASS JAVA À PARTIR D'U... par EspritMorne
Source avec Zip CLASSE UTILITAIRE POUR PARSER DES XML AVEC XPATH ET DOM. par celphys2
EXEMPLE PARSEUR DOM par co2_gaz
Source avec Zip Source avec une capture JNLPMANAGER : CREEZ ET MODIFIEZ VOS FICHIERS JNLP par gmi19oj19
Source avec Zip Source avec une capture UTILISER SAX POUR LIRE DU XML par tds

Commentaires et avis

Commentaire de mustapha81 le 10/03/2006 03:04:27

il est plein du faute!!!!!!!!!!!!!!!!!

Commentaire de neodante le 10/03/2006 10:17:02 administrateur CS

Euh, merci de préciser dans un premier temps, deuxièmement il n'y aucunes fautes donc si tu n'arrives à compiler un programme qui utilise la lib standard de Java je ne peux rien pour toi (oui moi énervé ce matin !)

++

Commentaire de Aquarius28 le 10/07/2006 16:27:17

MErci !

Commentaire de ouaich82 le 02/05/2007 10:58:55

Super ta classe !! Je développe un petit éditeur xml et elle va beaucoup m'aider !!!

Commentaire de jasminblanc le 28/07/2007 17:12:20

bonjour

si je veut valider un xml par rapport a deux fichiers xsd est ce que votre source resrte tjs valable
et la doc pour comprendre le source existe elle en français

Commentaire de 2bhq le 05/02/2008 10:20:45 10/10

Très bon code efficace et simple. Merci

Commentaire de sdaec le 17/03/2008 10:04:46 8/10

Bonjour,
juste une petite question: dans ton code tu as mis:
db.setErrorHandler(new ErrorHandler() {
public void fatalError(SAXParseException e) {
System.out
.println("Erreur de validation XSD - Erreur fatal");
isValid = false;
}

public void error(SAXParseException e) {
System.out.println("Erreur de validation XSD - Erreur");
isValid = false;
}

public void warning(SAXParseException e) {
System.out.println("Erreur de validation XSD - Warning");
isValid = false;
}
});

Pourrais tu préciser à quoi correspondent ces différentes erreurs car je n'arrive pas à trouver dans le document "W3C XML 1.0 Recommandation" ce qu'elles veulent dire? Au niveau du déboggage, il est difficile de savoir vraiment à quoi cela correspond.

D'avance merci

Commentaire de sdaec le 17/03/2008 14:30:24

Re-bonjour

voici l'erreur exacte que j'ai lorsque je lance ton code:

Erreur de validation XSD - Erreur
cvc-datatype-valid.1.2.1: '2008/01/22' is not a valid value for 'dateTime'.
Erreur de validation XSD - Erreur
cvc-type.3.1.3: The value '2008/01/22' of element 'DATE' is not valid.

Saurais tu quel est le bon format de date? :)

Merci

Commentaire de IoDream le 01/04/2008 16:06:09 8/10

Chez moi les "dbf.setAttribute(..)" ne marchent pas. J'ai dû faire comme ceci (en DOM):
SchemaFactory schFactory = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schFactory.newSchema(XSD_FILE);
dbf.setSchema(schema);

Commentaire de sdaec le 02/04/2008 11:03:56

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.

Commentaire de kyryan le 27/11/2008 11:14:52

Juste pour dire que ton code m'a enlevé une épine du pied alors merci bicou

K^^

Commentaire de kyryan le 28/11/2008 11:19:52 9/10

Super !
Est ce qu'il y aurait la meme chose pour la validation d'un fichier XMI ?

:))

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

xml vers sql: DOM ou SAX? [ par janolapino ] Bonjour,Je souhaite &#233;crire le contenu d'un fichier xml vers une base mysql. Mon coeur balance entre entre DOM et SAX (mon coeur un peu influenc&# Parser une String contenant du xml avec SAX ... [ par jerooome ] Bonjour &#224; tous, Situation: j'ai un client qui ce connect &#224; un serveur via un socket, et qui lui envoie un flux xml, le serveur recoit cela Valider un XML avec DTD externe en java sous Sax [ par darktonight ] Ben tout est dans le titre, j ai un document xml, une dtd, et j'aimerai le valider sous Sax, j'aimerai que les erreurs soit stokées à part dans un fic Ecrire un document xml en conservant sa dtd [ par mushrooml ] Voila mon probleme:Je recupere un document DOM dont la dtd existe apres parsage d un fichier xml avec dtd associé par un DocumentBuilder. Jusque la pa Gestion des balises XMl <include> avec un parser SAX-Handler [ par O Sensei ] Bonjour,   Voila tout est quasiment dans le titre. J'ai pour le moment mon parser SAX et un handler pour lire mon fichier XML. Je souhaiterai ajouter Ajouter des données dans un fichier XML avec DOM [ par fonkyom ] j'ai ce code mais il ajoute rien, il remplace !merci de m'aidervoici mon xml[QUOTE]&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;&lt;!DOCTYPE éléme eclipse:xml et sax??????? [ par blatifa2008 ] bonjour, j'utilise eclipse dans mon travail qui consiste à parcourir un doc xml avec le parseur sax,mon probleme c'est ou je met mon doc xml (emplacem Créer un XSD (XML Schema) [ par Kroline ] Bonjour tout le monde,Je ne sais pas si qlq pourra m'aider mais je dois g&#233;n&#233;rer un XSD (un schema XML) &#224; partir d'un programme Java.J'a [Axis][SOAP/DOM] SOAPHeaderElement.appendChild() => ClassCastException [ par broidsy ] Bonjour, Je suis en train d'essayé de construire des HeaderSOAP personalisés pour des webservices, mais j'ai une erreur de cast lorsque j'ajoute un n DOM [ par selmaensi ] Bonjour,j'essaye de développer un programme en Java eclipse qui manipule un fichiezr XML avec DOM. Quand je fait appel à la méthode "setTextContent("c


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales