lorsque l'ordre est important (l'ordre des attributs est au hasard)
lorsqu'on veut réutiliser un élément plusieurs fois (avec le même parent)
lorsqu'on veut (dans le futur) avoir des descendants / une structure interne
pour représenter un type de données (objet) plutôt que son usage, autrement dit: une "chose" est un élément et ses propriétés sont des "attributs".
lorsque XML sert comme markup pour un texte à publier (tout ce que le lecteur devra voir se trouvera dans un élément, tout ce qui est "meta" dans attributs)
Il faut plutot utiliser utiliser un attribut
lorsqu'on désire faire référence à un autre élément (parent="giraffe") et (cat="giraffe") dans l'élément référencé
pour indiquer l'usage/type/etc. d'un élément comme dans:
<address usage="prof"> ... </address>
lorsque vous voulez imposer des valeurs par défaut dans le DTD
lorsque vous voulez un type de données (pas grand chose) dans le DTD