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

Format d'échange (XML, JSON...) Java Discussion :

validation xml via xsd [XSD]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut validation xml via xsd
    Bonjour,

    Je dois valider un fichier XML via un xsd. Mais le fichier XML envoyé ne contient aucune information quand au xsd. C'est à dire que je n'est pas l'entête, j'ai directement le contenu du fichier XML.
    Comment puis-je réaliser la validation ?

    Par exemple, mon fichier correctement réalisé ressemble à ça :
    <ROOT xsi:noNamespaceSchemaLocation="fichierValidant.xsd" xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
    ....
    </ROOT>

    et le fichier que je recois ressemble à
    <ROOT>
    ....
    </ROOT>

    Est-il possible de donner le chemin du fichier de validation au moment du parse ?

    Voici mon code actuel :
    DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
    dbfactory.setValidating(true);
    DocumentBuilder db = dbfactory.newDocumentBuilder();

    db.setErrorHandler(new DefaultHandler());
    db.parse(new File(dataFile));

  2. #2
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Tu peux faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
    public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
    ...
    dbfactory.setValidating( true );
    dbfactory.setAttribute( JAXP_SCHEMA_LANGUAGE, "http://www.w3.org/2001/XMLSchema" );
     
    String shemaPath = "C:\\schema.xsd" ;		
    File f = new File( shemaPath );
     
    factory.setAttribute( JAXP_SCHEMA_SOURCE, f );
    La validation a lieu au moment où tu parses.

  3. #3
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Lorsque je réalise le code que tu m'as donné j'ai l'erreur suivante :
    java.lang.IllegalArgumentException: http://java.sun.com/xml/jaxp/properties/schemaLanguage
    at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.setAttribute(DocumentBuilderFactoryImpl.java:118)
    at fr.gipmds.netducs.batch.stats11.service.TraitementFichierXML.init(TraitementFichierXML.java:76)
    at fr.gipmds.netducs.batch.stats11.service.BatchIEStats11.batchLaunch(BatchIEStats11.java:105)
    at fr.gipmds.netducs.batch.stats11.launch.Main.traiter(Main.java:110)
    at fr.gipmds.netducs.batch.stats11.launch.Main.main(Main.java:51)
    Exception in thread "main"
    Sais-tu d'ou cela vient ? Le parseur qui supporte pas ?

    Merci par avance,
    florentb

  4. #4
    Membre expérimenté Avatar de wace
    Inscrit en
    Septembre 2003
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 224
    Par défaut
    Bonjour,

    J'ai exactement le meme probleme depuis quelques temps,
    Je suis preneur de toutes informations ou pointeurs pour pouvoir valider un flux xml via un xsd avec JDK 1.4.2

    Merci d'avances


    Je re edite le post, parce qu'en fait je viens de m'apercevoir que je ne suis pas en JDK 1.4.2, mais en JDK 1.3.1 et c'est peut etre de la que viens le probleme, j'essaie de passer en 1.4.2 et je vous dis si ca fonctionne

  5. #5
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    je suis également un jdk 1.3.1 ... je suis friand de tes news

  6. #6
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    C'est ptetre à cause de ça alors. Je suis en 5.0.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Validation XML via XSD en JavaScript
    Par alatox dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/03/2010, 22h24
  2. Validation XML via XSD en C#
    Par bdmax dans le forum C#
    Réponses: 1
    Dernier message: 26/05/2008, 14h48
  3. Valider XML avec XSD
    Par neilbgr dans le forum Langage
    Réponses: 10
    Dernier message: 26/03/2008, 16h01
  4. Réponses: 3
    Dernier message: 19/02/2008, 14h34
  5. [XSD] Valider un fichier XML via XSD
    Par laury33 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 05/03/2007, 16h46

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