Les attributs apportent des informations complémentaires à une balise XML.

Les attributs des éléments XML doivent être déclarés dans la Définition de Dype de Document (DTD) avant leur utilisation dans le document XML.

A l'image de ceux du HTML, les attributs sont formés d'un nom auquel est associé une valeur.

<livre edition="EditeurX" auteur="IndividuY">Titre</livre>

Dans cet exemple, deux attributs sont associés à l'élément livre, lui apportant deux caractéristiques supplémentaires.

Les attributs ne peuvent être présents que dans la balise de début de l'élément XML.

<balise attribut="valeur">...</balise>
<balise attribut="valeur"/>

La valeur des attributs doivent toujours être entre des guillemets doubles ("...") ou simples ('...').
Les attributs pays='France' et pays="France" sont tous les deux corrects.

Les attributs sont également sensibles à la casse de caractères (mahuscule/minuscule).
L'attribut monnaie="francs" est différent de MONNAIE="francs".

Le nom d'un attribut doit commencer par une lettre (a-zA-Z et les caractères accentués), le caractère de soulignement (_) ou le caractère deux points (:) utilisé généralement pour des attributs réservés.
Ainsi, l'attribut poids='120kg' est correct alors que #poids='72kg' est invalide.

Enfin, une balise ne peut commencer par la chaîne de caractère xml ou XML réservée pour un usage spécifique, en l'occurrence pour des attributs réservés comme xml:lang et xml:space.

Sommaire