Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1562 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  XML : question sur la structure d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XML : question sur la structure d'un fichier

n°597014
void_ppc
Posté le 25-12-2003 à 23:21:41  profilanswer
 

Bonjour,
 
Je suis en train de me poser une question existentielle :
 
Prenons le même bout de données, mais stocké différement :
 

 
<?xml version="1.0" ?>  
<book>
    <auteur nom="gerard"  metier="routier">
</book>


 


<?xml version="1.0" ?>  
<book>
<auteur>
    <name>gerard</name>
    <metier>routier</metier>
</auteur>
</book>


 
Est-ce que l'une est meilleure que l'autre, ou alors cela dépends uniquement de la méthode avec laquelle on va lire les données ?
 
merci


Message édité par void_ppc le 25-12-2003 à 23:22:37
mood
Publicité
Posté le 25-12-2003 à 23:21:41  profilanswer
 

n°597018
dropsy
et bonne chance surtout...
Posté le 25-12-2003 à 23:52:00  profilanswer
 

c'est une bonne question! et je plante un ptit drapeau :)

n°597036
gilou
Modérateur
Modzilla
Posté le 26-12-2003 à 00:19:35  profilanswer
 

Ca depend de ce que tu veux faire de tes données, mais c'est pas toujours completement identique.
Exemple:
<?xml version="1.0" ?>  
<book>  
    <auteur nom="gerard"  metier="routier"/>  
</book>  
et
<?xml version="1.0" ?>  
<book>  
    <auteur  metier="routier" nom="gerard"/>  
</book>  
sont equivalents en XML
 
Par contre:
<?xml version="1.0" ?>  
<book>  
<auteur>  
    <name>gerard</name>  
    <metier>routier</metier>  
</auteur>  
</book>  
et
<?xml version="1.0" ?>  
<book>  
<auteur>  
    <metier>routier</metier>  
    <name>gerard</name>
</auteur>  
</book>  
Ne sont pas equivalents en XML.
 
A+,
 
PS Tu as oublié le /> en fin d'un element vide dans ton premier exemple.


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°597038
void_ppc
Posté le 26-12-2003 à 00:21:27  profilanswer
 

:jap: en effet
 
Mais au-delà de ceci, quelle est la différence entre mettre une donnée en balise ou en attribut ?

n°597041
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-12-2003 à 00:25:38  profilanswer
 

Perso, je me représente le XML comme une structure arborescente. Imagine ton explorateur de fichiers, par exemple ; tu verrais un explorateur où tous les attributs de tes fichiers seraient des fils de ces fichiers ? Un peu le bordel, non ? :D
Pour une définition plus abstraite, un attribut est ce qui sert à caractériser un noeud dans ton document XML.
Maintenant, si t'as envie de faire des noeuds-fils au lieu d'attributs, rien ne t'en empêche, mais ça n'est peut-être pas le plus approprié dans tous les cas [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°597043
void_ppc
Posté le 26-12-2003 à 00:30:45  profilanswer
 

Donc c'est purement personnel, c'est une liberté que le XML permet alors.
 
Je commence à voir plus clair, mais c'est vrai que c'est subtil, comme le dit Gilou avec l'ordre des balises.

n°597121
gilou
Modérateur
Modzilla
Posté le 26-12-2003 à 10:54:23  profilanswer
 

void_ppc a écrit :

:jap: en effet
 
Mais au-delà de ceci, quelle est la différence entre mettre une donnée en balise ou en attribut ?

Il y a plein de choses que tu ne peux pas faire avec un attribut: Pas de structure dans l'ordre d'apparition, pas de possibilite de repetition... Donc c'est moins puissant que un modele ou tout est en element fils(et donc pas equivalent). Neanmoins...
Il y a des choses qu'il aurait ete possible de faire avec des attributs, mais que malheureusement la spec XML n'a pas inclus:
Considerer que tout attribut declare sur un element E est automatiquement declare sur tout element du sous arbre de E (et donc que sa valeur peut etre redefinie localement). Definir des attributs globaux... [XML schemas est plus permissif a ce sujet]
 
Donc pourquois des attributs?
* ecriture plus compacte utilisant moins de place
* permet d'indiquer qu'un element vide est vide
* permet d'eviter d'ecrire des structures particulierement lourdes pour une DTD: pour un element E avec deux attributs a et b, le modele de contenu sera si c'etaient des elements fils [pour les attributs seuls] ((a?|b?)|(b|a?))] et ca augmente avec le nombre d'attributs [si le connecteur SGML & avait ete introduit en XML, c'aurait ete tres simplement (a? & b?) mais on n'a pas cette possibilite {sauf a passer par les XML Schemas]
* permet de typer la donnée (tres legerement) [On peut bien plus avec les XML Schemas]
 
etc. En fait, les raisons sont liees a des histoires d'utilisation de place, et aux problemes inherents a l'utilisation de DTDs [donc de compatibilite avec un modele un peu archaique maintenant qu'on a les XML Schemas, Relax NG...]. Avec des XML Schemas, on peut probablement se passer sans pb des attributs et avoir des schemas avec des contraintes identiques a celles de modeles avec des DTDs et des attributs.
 
A+,


Message édité par gilou le 26-12-2003 à 10:59:09

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°597149
void_ppc
Posté le 26-12-2003 à 12:46:55  profilanswer
 


 
Merci beaucoup, ca devient plus clair.
 

n°687323
greut
Posté le 30-03-2004 à 14:03:36  profilanswer
 

Désolé de faire ressurgir ce sujet de la troisième page, mais j'aimerais tenter une petite réflexion.
 
un attribut à une importante contrainte, il est mono-valué et unique.
alors qu'un fils peut être multiple et même de type complex (avec petits-fils, arrières-petits-fils,...)
 
Ce que j'en pense, est que pour faire un format xml, tout neuf from scratch, il faut s'inspirer de formats utilisés massivement : RDF, RSS, XHTML, MATHML, ATOM, etc...
 
Mais je n'ai malgré tout rarement l'impression de faire "juste".

n°687951
gilou
Modérateur
Modzilla
Posté le 30-03-2004 à 23:05:13  profilanswer
 

Non, un attribut n'est pas necessairement monovalué.
Vas lire la definition des attributs de type ENTITIES, IDREFS et NMTOKENS dans la spec XML.
A+,


Message édité par gilou le 30-03-2004 à 23:06:02

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  XML : question sur la structure d'un fichier

 

Sujets relatifs
[SQL] Question update/replaceUne questin conne en Shell : Nom de fichier et balayage sur X carac.
Lecture d'un fichier Texte et affectation dans variables kshOptimisation de gestion de fichier
Bloquer l'accés a un fichier PHP tout en utilisant webcronUne question au sujet des divs...
[PHP-XML] erreur sous ie ! [RESOL][XHTML/CSS] Question con sur les classes CSS ...
[PHP] Récupération de données dans un fichier[php]rechrcher du texte dans un fichier.
Plus de sujets relatifs à : XML : question sur la structure d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR