XML: attributs ou enfants? [dupliquer]
-
05-07-2019 - |
Question
Cette question a déjà une réponse ici:
- attribut XML vs élément XML 20 réponses
Dans les conventions XSD, SOAP et autres conventions XML, vous verrez souvent des éléments tels que:
<book>
<title>Harry Potter</title>
<author>J.K. Rowling</author>
</book>
Maintenant, je me demande ce qu’il est advenu des attributs. Pour moi, il est plus logique d'écrire ceci comme suit:
<book title="Harry Potter" author="J.K. Rowling" />
Mais apparemment, pour une raison quelconque, des personnes plus intelligentes que moi ont choisi le contraire. Quelqu'un pourrait-il expliquer pourquoi et quels sont ses attributs?
La solution
Certaines personnes considèrent la différence comme une question de préférence personnelle. Vous pouvez suivre quelques directives.
Autres conseils
Il n'y a pas de règle absolue. J'ai tendance à utiliser des attributs pour les métadonnées concernant les données contenues dans les éléments. par exemple
<book author="JK Rowling" published="September 2001">Harry Potter</book>
bien que l'utilisation / les exigences particulières le déterminent plus que n'importe qui d'autre.
Le traitement ultérieur est un autre problème. Si vous utilisez un processeur SAX, ce format donnera lieu à un rappel de méthode avec la structure atteribute remplie. Si vous mettez les données dans plusieurs éléments, vous obtiendrez le nombre correspondant d'appels de méthode (il peut s'agir d'une optimisation trop poussée, mais il peut être intéressant d'envisager de prendre en compte la quantité de données).