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 :

Génération de classes, erreur de parsing 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 confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 206
    Par défaut Génération de classes, erreur de parsing xsd
    Bonjour à tous,

    Je souhaite générer des classes Java à partir d'un schéma xsd, pour ensuite traiter facilement le fichier xml associé au schéma. C'est la première fois que j'essaie de réaliser ce binding et j'ai quelques difficultés.

    J'ai lu que JAXB était le plus adapté pour réaliser ce que je veux, quel est votre avis ?

    dans le tutoriel jmd chap 37 des cours et tutoriels Java : http://java.developpez.com/cours/

    Il est écrit que pour créer les classes associées au schéma il faut taper la commande suivante (je suis sous linux):

    xjc [options] schéma.xsd

    C'est ce que j'essaie de faire avec l'un de mes schémas mais je reçois beaucoup d'erreurs de ce type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    parsing a schema...
    [ERROR] src-resolve.4.2: Error resolving component 'StokesParameter'. It was detected that 'StokesParameter' is in namespace 'http://aramis.obspm.fr/~alma/XENUM/StokesParameterMod', but components from this namespace are not referenceable from schema document 'file:/home/divayht/stokes.xsd'. If this is the incorrect namespace, perhaps the prefix of 'StokesParameter' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:/home/divayht/stokes.xsd'.
      line 189 of file:/home/divayht/stokes.xsd
     
    [ERROR] cos-applicable-facets: Facet 'maxLength' is not allowed by type StokesParameters.
      line 217 of file:/home/divayht/stokes.xsd
     
    [ERROR] cos-applicable-facets: Facet 'enumeration' is not allowed by type StokesParameter_CircularProduct.
      line 237 of file:/home/divayht/stokes.xsd
    Sauriez-vous d'ou vient le probleme et comment le régler ? Toute discussion sur un autre parser visant à générer les classes est égalemement appréciée

    Merci d'avance !
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    J'ai ce problème en essayant de regarder ton xsd.

    src-resolve.4.2: Error resolving component 'StokesParameter'. It was detected that 'StokesParameter'
    is in namespace 'http://aramis.obspm.fr/~alma/XENUM/StokesParameterMod', but components from
    this namespace are not referenceable from schema document 'file:///K:/DEV/Wokspace/XsdTester/xsd/
    stokes.xsd'. If this is the incorrect namespace, perhaps the prefix of 'StokesParameter' needs to be
    changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:///
    K:/DEV/Wokspace/XsdTester/xsd/stokes.xsd'.


    Tu n'as pas un fichier qui contient la définition de StokesParameterMod ?

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par khoufouq Voir le message
    src-resolve.4.2: Error resolving component 'StokesParameter'. It was detected that 'StokesParameter'
    is in namespace 'http://aramis.obspm.fr/~alma/XENUM/StokesParameterMod', but components from
    this namespace are not referenceable from schema document 'file:///K:/DEV/Wokspace/XsdTester/xsd/
    stokes.xsd'. If this is the incorrect namespace, perhaps the prefix of 'StokesParameter' needs to be
    changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:///
    K:/DEV/Wokspace/XsdTester/xsd/stokes.xsd'.
    Ça se résoud en mettant la même chose dans xmlns et targetNamespace.

    (Je peux pas aider à la question initiale, j'ai pas mes outils.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    En mettant la même chose dans xmlns et targetNamespace, j'ai réussi à générer avec XMLBeans 2.5.0 et JAXB 2.2.3.

    Je pense que ton problème est plutôt dedans. Le XSD est OK.

Discussions similaires

  1. génération de classes a partir d'une xsd
    Par hicham_alaoui1 dans le forum Persistance des données
    Réponses: 0
    Dernier message: 26/09/2008, 13h46
  2. [SQL] Erreur de parse bizarre...
    Par TommyWeb dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/02/2006, 23h54
  3. [servlet][xml] Erreur de parsing
    Par james2001 dans le forum Servlets/JSP
    Réponses: 26
    Dernier message: 03/11/2005, 07h08
  4. [SAX] Erreur de Parse suite à Erreur POI
    Par leminipouce dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 17/10/2005, 11h15
  5. [JAXB][XSD] Problème lors de la génération des classes
    Par charlot44 dans le forum Persistance des données
    Réponses: 4
    Dernier message: 22/06/2005, 16h10

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