IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[XSD]Comment valider doc XML par un schéma avec Java?


Sujet :

Valider XML

  1. #1
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut [XSD]Comment valider doc XML par un schéma avec Java?
    Bonjour,
    Cette question est commune à JAVA et XML :
    Comment faire pour valider un document XML avec un schéma (.xsd) en java sans que le document XML ne contienne de lien vers le fichier .xsd ?
    J'espère avoir été claire !
    Merci pour vos réponses.
    Snoop

  2. #2
    Membre du Club Avatar de philemon_siclone
    Inscrit en
    Septembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    J'espère avoir été claire !
    Très claire . Ta question est un peu recurrente sur ce forum.

    1) Si tu ne précises pas avec quel parser tu travailles (xerces, libxml, msxml), il est difficile de répondre à ta question. En effet certains disposent d'une methode setSchema() (ou qqch d'equivalent), d'autres pas (c'est le cas de la plupart, car ce genre de methode n'est pas prevue dans les specs du W3C).

    2) Sinon pour les parsers validants qui implementent SAX, une solution consiste à utiliser la classe EntityResolver. Cf. http://www.developpez.net/forums/viewtopic.php?t=143384

    Tcho

    Phil

  3. #3
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    Donc, je parse avec SAX (JAXP) et donc apparemment, on ne peut pas valider...
    Je vais regarder,
    Merci
    Snoop

  4. #4
    Membre du Club Avatar de philemon_siclone
    Inscrit en
    Septembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Donc, je parse avec SAX (JAXP)
    Petit rappel (faut bien sortir sa science de temps en temps):
    Contrairement à ce que la majorité des gens pense, JAXP n'est pas un parser. En effet, les classes de JAXP constituent une couche qui se situe au-dessus des parsers (SAX et DOM) et qui propose une même interface quelque soit l'interface propriétaire sous-jacente. Cela permet de changer dynamiquement de parser. Cela signifie donc que l'on peut utiliser JAXP pour interfacer Crimson (le parser de Sun) ou Xerces ou encore le parser d'Oracle.

    Donc quand tu écris "je parse avec JAXP", cela ne veut pas dire grand chose si tu ne précises pas le parser sous-jacent (Crimson, Xerces, OracleXMLParser). La confusion vient du fait que Crimson est fournit par defaut dans la distribution JAXP de Sun.

    A part ça la solution utilisant EntityResolver doit fonctionner avec JAXP (quelque soit le parser), mais il est vrai qu'elle oblige le XML source à contenir une "fausse" reference de schema (genre "monFauxSchema.xsd").

    Phil

Discussions similaires

  1. [Contributions] Comment valider un XML avec un XSD ?
    Par Community Management dans le forum Valider
    Réponses: 16
    Dernier message: 26/08/2015, 15h56
  2. Réponses: 3
    Dernier message: 24/07/2009, 14h04
  3. [XSD] Comment valider avec un XML Schema
    Par gwe78 dans le forum Valider
    Réponses: 2
    Dernier message: 25/10/2006, 00h01
  4. Validation de XML par XSD sans MSXML
    Par XPierrot dans le forum Langage
    Réponses: 3
    Dernier message: 23/03/2006, 08h46
  5. [XSD][Java]Valider un XML par rapport a un XSD
    Par sikapoch dans le forum Valider
    Réponses: 11
    Dernier message: 08/11/2005, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo