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][Java] choix de la techno


Sujet :

Valider XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 28
    Points : 20
    Points
    20
    Par défaut [XSD][Java] choix de la techno
    J'étudie la solution la plus judicieuse pour vérifier à l'aide d'une API java si un fichier XML est bien-formé vis-à-vis du XML Schema auquel il est associé.

    Que penser de l'API JAXB de Sun par rapport à Castor ?

    Ou bien l'utilisation de l'API Xerces ...

    En bref je souhaite écrire un programme Java qui pour un doc XML donné renvoie s'il est conforme au Schema ou non ....

    merci pour vos réponses

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    JDOM + API Xerces

    J'ai testé et ca fonctionne parfaitement de plus JDOM est bcp plus naturel pour un développeur java

    Le programme est assez court :

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		SAXBuilder builder =
    			new SAXBuilder("org.apache.xerces.parsers.SAXParser");
    		builder.setValidation(true);
    		builder.setFeature(
    			"http://apache.org/xml/features/validation/schema",
    			true);
    		builder.setProperty(
    			"http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
    			schema);
    		builder.setErrorHandler(ErrorHandlerPerso);
    Reste à gérer les exceptions et a bien faire ton errorhandler et hop c'est fini.

    Haaz
    Le problème se situe souvent entre la chaise et l'écran.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    ok merci ...
    je viens de faire un petit prog en utilisant Xerces2 + Sax, je traite mon ErrorHandler et ça marche pas mal sauf que je récupère cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERROR: cvc-datatype-valid.1.2.1: '..\XML Schema\toto.RUN.xsd' is not a valid value for 'anyURI'.
    ERROR: cvc-attribute.3: The value '..\XML Schema\toto.RUN.xsd' of attribute 'xsi:noNamespaceSchemaLocation' on element 'RUN' is not valid with respect to its type, 'anyURI'.
    A priori cela viendrait du fait que le nom du fichier a un point ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    bon en fait ...
    il faut remplacer les backslash par des slash et ne pas mettre d'espace dans le chemin pour que ça passe par Xerces .... par contre c'est bizarre que dans mon editeur XML (cooktop) il me dit que le XML est valide et bien-formé !

    Des idées ??

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    Ca arrive selon les parsers... a moins de tous les tester je ne sais pas...

    J'utilise XMlSpy et il est très laxiste... du coup j'éi récupéré un parser fait maison pour valider avec le parser de microsoft et je revalide sous xerces...

    Quand ca passe partout je suis content !

    Pour l'URI c'est Xerces qui ne valide que des URI valide justement... Spy et consort auorise tout quasiment

    Haaz
    Le problème se situe souvent entre la chaise et l'écran.

Discussions similaires

  1. [XSD] Comment transformer un fichier xml en fichier xsd (java)
    Par mehdiing dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 20/03/2008, 11h21
  2. Réponses: 8
    Dernier message: 25/06/2007, 18h26
  3. [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
  4. [XSD][JAVA] Valider un XML avec un XSD schéma
    Par vad dans le forum Valider
    Réponses: 1
    Dernier message: 17/08/2005, 11h47
  5. [XML-DOM][XSD][JAVA] Génération de parseur
    Par charlot44 dans le forum Persistance des données
    Réponses: 2
    Dernier message: 22/06/2005, 12h36

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