Un attribut est une information supplémentaire attachée à un élément, on parle de métadonnée.
Les attributs d'un élément sont formés d'une suite d'affectations séparées par des espaces : attribut1='valeur' attribut2='valeur' ...
Ils sont ajoutés à la balise ouvrante ou à une balise vide (jamais à une balise fermante) :
<nom_element [attributs]>
<nom_element [attributs]/>
La valeur est indiquée entre apostrophes ou guillemets (au choix, mais pas de mélange des deux) :
attribut1='valeur'
ou
attribut1="valeur"
Un élément ne peut pas contenir deux attributs ayant le même nom.
Un attribut peut toujours être représenté alternativement par un élément fils de l'élément qu'il caractérise, avec une signification du même ordre :
<element attribut="x"/>
et
<element><attribut>x</attribut><element>
sont similaires.
Il est donc tout à fait possible de faire du XML sans utiliser d'attribut.
On utilise généralement les attributs :
Pour différencier le contenu destiné à être affiché dans le document lisible des métadonnées qui ne le seront pas (version, date de création, ...)
Pour simplifier l'écriture du document
Pour ajouter des identifiants et des références