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 :

General Schema Error [JDOM]


Sujet :

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

  1. #1
    Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 86
    Points : 69
    Points
    69
    Par défaut General Schema Error
    Salut,
    Depuis quelques temps j'obtiens l'erreur suivante quand j'essaye de parser un fichier xml en le validant avec un schema xsd.
    Ce fichier est à priori correct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error on line 2 of document  file:/c:/20110415-2.xml:  General Schema Error: Schema in workerFile.xsd has a different  target namespace from the one specified in the instance document :.
    Dans java je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SAXBuilder parser = new SAXBuilder(true);
    parser.setFeature("http://apache.org/xml/features/validation/schema", true);
                        parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
                                "workerFile.xsd");
    parser.build(file);
    L'entete du schema xsd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://www.co-prev.be/ns/workerFile" 
        xmlns:cp="http://www.co-prev.be/ns/workerFile" 
        elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.92">
    L'entete du fichier Xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <workerFile xmlns="http://www.co-prev.be/ns/workerFile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:schemaLocation="http://www.co-prev.be/ns/workerFile coprevWorkerFile.xsd">
    Quelqu'un pourrait-il m'aider ?

  2. #2
    Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    Personne ne peut m'aider sur ce problème ?

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 608
    Points
    21 608
    Par défaut
    Tu as deux fichiers .xsd, là :
    - workerFile.xsd, pour valider les éléments sans namespace, déclaré dans les paramètres du parseur en Java.
    - coprevWorkerFile.xsd, pour valider les éléments du namespace http://www.co-prev.be/ns/workerFile , déclaré par ton document XML comme schéma servant à le valider.

    Déjà, je ne suis pas certain qu'il soit bien sage de mêler les deux notions comme ça. Soit les deux sont déclarés par Java, soit les deux sont déclarés par le document XML, soit les deux sont déclarés par les deux, mais pas un joyeux mélange.

    Ensuite, ton message d'erreur t'indique qu'il y a un soucis avec le fichier workerFile.xsd (celui sans namespace), et toi tu nous montres le fichier coprevWorkerFile.xsd (celui avec namespace.)
    What the flabberghasted ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    thelvin, merci pour ton aide,

    bien vu, malheureusement c'est une erreur lors de la copie. Voici le code correct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SAXBuilder parser = new SAXBuilder(true); parser.setFeature("http://apache.org/xml/features/validation/schema", true);                     parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",                             "coprevWorkerFile.xsd"); parser.build(file);
    Il utilise bien le même nom de fichier coprevWorkerFile.xsd
    Le problème persiste

  5. #5
    Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    Trouvé la cause:

    Ceci fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SAXBuilder parser = new SAXBuilder(true); parser.setFeature("http://apache.org/xml/features/validation/schema", true); parser.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", "http://www.co-prev.be/ns/workerFile coprevWorkerFile.xsd"); parser.build(file);

  6. #6
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Points : 83
    Points
    83
    Par défaut
    à Manau2000, pourriez vous mettre le code permettant de créer un fichier XML à partir de la base de données ?!!

    Merci bien ..

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 608
    Points
    21 608
    Par défaut
    Citation Envoyé par Manau2000 Voir le message
    Trouvé la cause:

    Ceci fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SAXBuilder parser = new SAXBuilder(true); parser.setFeature("http://apache.org/xml/features/validation/schema", true); parser.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", "http://www.co-prev.be/ns/workerFile coprevWorkerFile.xsd"); parser.build(file);
    Yup.

    Autrement dit, quand on fournit un schéma pour les éléments d'un namespace, il ne faut pas dire que c'est un schéma pour les éléments sans namespace.
    Personnellement cette redondance me gonfle grave, mais elle est là.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    @thelvin, c'est vrai,.. le problème venait aussi du nom du schéma.
    Je mettais juste coprevWorkerFile.xsd au lieu de http://www.co-prev.be/ns/workerFile coprevWorkerFile.xsd. Le message d'erreur était pourtant assez clair.

    @ROUGE87, Crée plutôt un nouveau sujet dans le forum pour ta question. Le problème na pas de lien avec celui-ci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/02/2015, 14h44
  2. [OpenOffice][Tableur] General input/output error sur Calc
    Par jmchantelou dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 07/12/2007, 21h53
  3. Erreur SQL General Error
    Par BRUNOOBAME dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/11/2007, 16h35
  4. Réponses: 1
    Dernier message: 02/05/2007, 16h43
  5. [jdbc] general error à cause de Clob
    Par Jihed Amine Maaref dans le forum JDBC
    Réponses: 5
    Dernier message: 27/04/2005, 10h45

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