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

Entrée/Sortie Java Discussion :

[JiBX] Masquer des balises de mappings hérités


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 56
    Par défaut [JiBX] Masquer des balises de mappings hérités
    Bonjour,

    Le titre du message n'étant pas très clair, voici ci-dessous la situation et ce que je cherche à réaliser :

    Fichier XML généré avec l'API JiBX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <data>
      <identifier>
        ...
      </identifier>
      <videodata>
        <name>
          ...
        </name>
        ...
      </videodata>
    </data>
    --> la structure de mes classes fait qu'il existe un lien de composition entre l'objet Data et l'objet VideoData, de sorte que JiBX fournit la représentation hiérarchique suivante (ce lien de composition est une réponse à un problème tiers d'héritage multiple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data
      |_ identifier
      |_ videodata
            |_ name
    Alors que je recherche cette représentation (à "omettre le conteneur" videodata) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    data
      |_ identifier
      |_ name
    Que faut-il ajouter au fichier de configuration JiBX pour obtenir ce résultat ?
    Merci

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Salut,

    Et bien il faut que ton objet data ait directement un attribut du nom de name, je dirais

    Plus sérieusement : tu as regardé les exemples de bindings ? Il faut juste déclarer une ligne de type structure field je crois.

    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 56
    Par défaut
    Salut KiLVaiDeN (C'est en référence à 'Iron M'aiDeN ton pseudo ? ) et merci pour ta réponse rapide.

    En effet, j'avais bien vu dans les exemples fournis avec l'API que le texte d'une balise/d'un attribut est défini par l'attribut 'name' d'un mapping, et qu'on peut ainsi masquer un conteneur en omettant l'attribut 'name' (en ne laissant que l'attribut 'field' pour une structure, en ne laissant que l'attribut 'class' pour un mapping).

    Le problème est que je ne peux pas supprimer l'attribut 'name', car j'ai défini des héritages dans mes mappings (mappings abstraits et concrets).

    Enfin bon, pas clair sur le papier, pas clair dans l'idée, donc je vais repotasser encore les exemples pour voir si c'est vraiment inéluctable.

  4. #4
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Tout à fait : iron maiden et steve vai

    Je garde ce topic dans ma liste, lorsque tu auras plus d'infos je reviendrais jeter un oeil, malgré le fait que je ne sois pas expert jibx ( je préfère les trucs plus simples comme xstream )

    A+ !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 56
    Par défaut
    Et bien voilà plus d'info (Yeah, up the irons !! Ca a beau être répétitif, je ne me lasse pas d'entendre leur rythmique qui canarde, la "cavalerie")

    Après quelques tâtonnements, j'en arrive à la solution suivante pour l'exemple du message initial :

    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
    <mapping name="data" class="<package>.Data">
      <value name="identifier" field="identifier" format="long.default" />
      <!-- !!! This will automatically be linked to the appropriate mapping at build time !!! -->
      <structure field="videocontent" />
    </mapping>
    
     <!-- !!! No use of the 'extends' keyword here, but declaration of an abstract mapping (this permits not to mention a name for a derived mapping). The derived mapping is a child of a user-definied type !!! -->	
    <mapping class="<package>.VideoContent" abstract="true">
      <structure map-as="base-content" />
    </mapping>
    
     <!-- !!! User-defined data-type, still abstract (this is the root mapping of the inheritance tree) !!! -->	
    <mapping type-name="base-content" class="<package>.Content" abstract="true">
      <!-- concrete mappings (value, structure, ...) -->
    </mapping>
    Voilà, j'espère bien ne pas être la seule sous-mer** à avoir rencontré ce cas là, et que çà en aidera d'autres Bye.

  6. #6
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Content que tu aies trouvé une solution, mais c'est quand même étrange que tu aies eu à faire un mapping aussi compliqué ( je ne comprend pas tout, ne connaissant pas super bien JiBX, mais quand même... )

    Up the irons man !

    Peux-tu marquer ton sujet résolu dans ce cas ?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/12/2006, 11h51
  2. [CR9]Masquer des données (colonnes) suivant valeur champ
    Par neo.51 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 05/09/2005, 09h43
  3. XLS - Nom des balise
    Par lakrimo dans le forum XMLRAD
    Réponses: 2
    Dernier message: 05/02/2004, 11h12
  4. Position des balises H2 ou comment les numéroter
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 12/07/2003, 19h24
  5. Placement des balises avec DTD
    Par Keul125 dans le forum Valider
    Réponses: 4
    Dernier message: 28/05/2003, 12h08

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