Forum Programmation.web besoin de conseil pour la conception de fichier XML

Posté par  .
Étiquettes : aucune
0
18
mar.
2005
Bonjour à tous,

J'ai un fichier xml qui va me servir à stocker des infos (fiches de personnes avec infos sur l'état civil + autres info).

Ma question : comment architecturer mon fichier :
- dois-je, pour chaque info, mettre une balise,
- ou dois-je mettre moins de balises avec des attribus ?


Ex : le mieux est-il de faire :

Personne
Nom
/Nom
Prenom
/Prenom
... autres
/Personne

Ou de faire :

Personne Nom = "toto" Prenom="tata"
... autres
/Personne

Merci pour vos suggestions

PS : j'ai dû virer les symboles supérieur et inférieur d'ouverture et fermeture de balise parce qu'il sont interprétés, et je sais pas comment faire pour qu'ils ne le soient pas....
  • # moi

    Posté par  (site web personnel) . Évalué à 4.

    Perso je procède souvent de cette manière :
    si l'information doit décrire mon objet (ici personne) --> attribut
    si l'information identifie mon objet (identifiant, par exemple nom,personne) --> attribut
    Si par contre une information est facultative est susceptible d'être répété et qu'il y a une notion d'arborescence --> balises imbriquées.
    • [^] # Re: moi

      Posté par  (site web personnel) . Évalué à 4.

      en sois, ça n'a pas beaucoup d'importance.

      c'est un peu à toi de voir ta manière de penser mais...
      un attribut ne peut apparaître qu'une seule fois dans une balise. Donc dans ton exemple, tu peux utiliser le deuxième modèle en te disant, qu'une personne ne possède qu'un seul nom. Par contre l'adresse tu pourras la mettre dans une sous-balise car on peut avoir plusieurs adresse (bureau, personnelle, etc.) et en attribut de cette balise, tu spécifierais le type type="bureau" par exemple.

      Maintenant, c'est vraiment à toi de voir... et côté performance, ça doit être kif-kif, ça va pas plus vite de faire l'un ou l'autre à mon avis.

      juste un petit conseil, si tu utilises le premier modèle, ce n'est pas la peine de mettre le texte nom suivit de la balise nom. Ca tu peux facilement le déduire lorsque tu parses ton fichier.

      Bref, j'espère que ça peut t'aider
  • # Merci

    Posté par  . Évalué à 1.

    Merci à vous

    Autour de moi, personne avait vraiment de règle, je vois que c'est pareil pour vous, donc je vais faire comme je le sens !


    @+
  • # Quelques éléments de réponses

    Posté par  . Évalué à 4.

    Enfait, comme dit plus haut, y'a pas vraiment de règle, mais j'ai trouvé ça : http://www.w3schools.com/xml/xml_attributes.asp(...) où il est dit ceci : Use child elements if the information feels like data. Et plus loin (qui est sûrement plus déterminant dans tes choix) : Some of the problems with using attributes are:
    • attributes cannot contain multiple values (child elements can)
    • attributes are not easily expandable (for future changes)
    • attributes cannot describe structures (child elements can)
    • attributes are more difficult to manipulate by program code
    • attribute values are not easy to test against a Document Type Definition (DTD) - which is used to define the legal elements of an XML document
    (...)
    En espérant que ça t'aidera à faire tes choix....

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.