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

XML/XSL et SOAP Discussion :

XML Problème de modélisation


Sujet :

XML/XSL et SOAP

  1. #1
    Membre régulier Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Points : 74
    Points
    74
    Par défaut XML Problème de modélisation
    Je suis en train de concevoir mon premier modèle de données xml et je voudrais avoir quelques éclaircissements.
    J'ai deux entités User et Role. Sachant qu'un user peut avoir plusieurs roles serait-il plus correct d'imbriquer les attributs de la classe Role dans ceux de la classe User, dans le même fichier user.xml ou mettre les deux classes dans deux fichiers distincts (user.xml et role.xml) ?

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    ça dépend comment tu fais le lien entre les fichiers
    dans user.xml tu pourras par exemple mettre un identifiant d'un rôle et dans le fichier role.xml tu mettra tous les détails relatifs à chaque rôle
    GNAP !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Si 1 user peut avoir N roles et si 1 role peut avoir N users, il faut externaliser les références dans une même table ou fichier.

    Exemple : ici c'est "jonction" qui ne contient que des références.

  4. #4
    Membre régulier Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Points : 74
    Points
    74
    Par défaut
    Merci à vous
    En fait en BD je savais déjà manipuler des choses comme ça, en m'appuyant sur la puissance du modéle relationnel. Mais comme en avec les fichiers il n'y a pas de jointure j'avais pensé à un truc comme ça :

    Pour chaque utilisateur je dois connaître l'ensemble des rôles qu'il a je fais donc le schéma suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <users>
     <user login = "user1" name = "user1">
       <role name = "role1">
       <role name = "role2">
     </user>
     <user login = "user2" name = "user2">
       <role name = "role1">
       <role name = "role2">
     </user>
    </users>

    Pour chaque role je dois connaître l'ensemble des utilisateurs qui le composent je fais donc le schéma suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <roles>
     <role name = "role1">
       <user name = "user1">
       <user name = "user2">
     </role>
     <role name = "role2">
       <user name = "user1">
       <user name = "user2">
     </role>
    </roles>
    @nosferapti je fais tester ta proposition pour voir ce que ça donne.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Heu, qu'est-ce qui t'empêches de faire 3 fichiers?
    Et après tu fais l'équivalent de la jointure en java/php/c++/XSL-T.

  6. #6
    Membre régulier Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Points : 74
    Points
    74
    Par défaut
    C'est en Java, tu me proposes de lire plusieurs à la fois ?

  7. #7
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par Kevin12 Voir le message
    @nosferapti je fais tester ta proposition pour voir ce que ça donne.
    oups stop ! j'ai mal compris ce que tu voulais faire

    Citation Envoyé par Morbo Voir le message
    Si 1 user peut avoir N roles et si 1 role peut avoir N users, il faut externaliser les références dans une même table ou fichier.
    je suis d'accord avec Morbo, il faut donc 3 fichiers : 1 pour les rôles, 1 un pour les utilisateurs et 1 pour les relations entres les rôles et les utilisateurs

    Citation Envoyé par Kevin12 Voir le message
    Pour chaque utilisateur je dois connaître l'ensemble des rôles qu'il a je fais donc le schéma suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <users>
     <user login = "user1" name = "user1">
       <role name = "role1">
       <role name = "role2">
     </user>
     <user login = "user2" name = "user2">
       <role name = "role1">
       <role name = "role2">
     </user>
    </users>

    Pour chaque role je dois connaître l'ensemble des utilisateurs qui le composent je fais donc le schéma suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <roles>
     <role name = "role1">
       <user name = "user1">
       <user name = "user2">
     </role>
     <role name = "role2">
       <user name = "user1">
       <user name = "user2">
     </role>
    </roles>
    ce genre de découpage est à éviter puisque tu aurais dans les 2 fichiers les mêmes informations mais juste présentées différemment
    cela pourrai provoquer des problèmes d'incohérence si par hasard un seul de ces fichier est modifié
    GNAP !

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Je ferai une xsl-t qui fait la jointure user/roles avec en paramètre le critère de recherche du/des user(s).
    Sinon si tu ne connais pas le xsl-t, tu charges les 3 fichiers en jdom.

  9. #9
    Membre régulier Avatar de Kevin12
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Points : 74
    Points
    74
    Par défaut
    Finalement ce sera troisième fichier, par analogie aux associations n-aire du modèle relationnel.
    Merci à vous deux pour les conseils. Je vais essayer d'implémenter et je vous informerai après.

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

Discussions similaires

  1. [Plugin / XML] Problème plugin Eclipse avec JDOM
    Par kiko_18 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 12/02/2005, 13h55
  2. Réponses: 2
    Dernier message: 01/06/2004, 12h47
  3. [Class/PHP/Postgres] Problème de modélisation...
    Par k-reen dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/02/2003, 08h49
  4. [Accents - XML] Problème de codage non supporté !!
    Par Smortex dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/11/2002, 11h00

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