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érer classe avec jaxb [JAXB]


Sujet :

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

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut Générer classe avec jaxb
    Bonjour,

    J'ai créer un schéma xsd et j'utilise JAXB pour générer mes classes. J'utilise également un fichier de bindings et sa me provoque l'erreur suivante:
    [ERROR] La personnalisation "ns:annotation" n'est associée à aucun élément de schéma.

    Dans ce fichier, j'indique que les classes générées doivent hériter d'une classé existante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0" encoding="UTF-8"?>
    <jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
        xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
        jaxb:extensionBindingPrefixes="xjc"
        xmlns:ns="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb">
     
         <ns:annotation>
           <ns:appinfo>
              <jaxb:globalBindings>
                  <xjc:superInterface name="monPackage.MaClasseExistante"/>
              </jaxb:globalBindings>
           </ns:appinfo>
        </ns:annotation>
     
    </jaxb:bindings>
    Merci de votre aide

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Il y a une multitude d'erreurs.

    [1] Les structures de ns:annotation et ns:appinfo sont pertinentes si on écrit ce genre d'instruction dedans le schéma (on dit in-line). Si on écrit une customization via un fichier de binding externe, il ne faut pas les mettre.
    [2] La valeur de xsi;schemaLocation est tout à fait fausse. Ce n'est pas s'écrire comma ça. Mais, ce n'est pas nécessaire même de mettre dans le fichier de binding, je n'insiste pas. Vous consultez les documentations vous-même pour apprendre comme l'écrire, bien entendu.
    [3] Il faut aussic ajouter l'attribut jaxb:extensionBindingPrefixes attribut pour notifier l'engin que le namespace de prefix xjc soit une extension binding. Mais vous avez fait et c'est bien.
    [4] Comme les namespaces de préfixes xsi et ns ne sont plus nécessaires, on les enlève entièrement.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8"?>
    <jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
        xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
        jaxb:extensionBindingPrefixes="xjc"
    >
        <jaxb:globalBindings>
            <xjc:superInterface name="monPackage.MaClasseExistante"/>
        </jaxb:globalBindings>
    </jaxb:bindings>

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Je l'ai refet et cela provoque toujours des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0"
        xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
        jaxb:extensionBindingPrefixes="xjc">
        <jaxb:globalBindings>
            <xjc:superInterface name="monPackage.MaClasse"/>
        </jaxb:globalBindings>
    </jaxb:bindings>
    Erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [ERROR] les bindings dextension fournisseur (jaxb:extensionBindingPrefixes) ne sont pas autorisées en mode strict. Utilisez -extension.
      ligne 2 sur schema.xsd
    Et je ne sais pas si pour un héritage c'est superclass ou surperinterface

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Et je ne sais pas si pour un héritage c'est superclass ou surperinterface
    Voyon ! Si MaClasse commence par se déclarer public interface, c'est superInterface; si public class, superClass.

    [ERROR] les bindings dextension fournisseur (jaxb:extensionBindingPrefixes) ne sont pas autorisées en mode strict. Utilisez -extension.
    https://jaxb.java.net/2.2.4/docs/xjc.html
    Il y a une option -extension, pas ça ?

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Oui il me demande sa. Je l'ajoute ou, Je fait la génération depuis eclipse

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

Discussions similaires

  1. Crypter un fichier générer avec JAXB
    Par SpeedOverflow dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 05/11/2011, 13h11
  2. absence de classes avec jaxb et schéma xml
    Par totomimi dans le forum NetBeans
    Réponses: 0
    Dernier message: 10/07/2009, 12h15
  3. générer les .class avec eclipse wtp
    Par mathieu4444 dans le forum Services Web
    Réponses: 4
    Dernier message: 20/02/2007, 22h10
  4. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  5. Objets/Classes avec un SGBD
    Par tiboleo dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 09/11/2003, 16h04

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