Attributs
Les attributs permettent d'ajouter des informations concernant un élément à l'aide de paires nom-valeur. Les attributs sont souvent utilisés pour définir des propriétés d'éléments qui ne sont pas considérées comme le contenu de l'élément, bien que, dans certains cas (par exemple avec l'élément HTML img
), le contenu de l'élément soit déterminé par des valeurs d'attributs.
Des attributs peuvent apparaître dans des balises vides ou de début, mais pas dans des balises de fin. La syntaxe est la suivante :
<elementName att1Name="att1Value" att2Name="att2Value"...>
ou
<elementName att1Name="att1Value" att2Name="att2Value".../>
Les attributs doivent avoir un nom et une valeur. Aucun nom sans valeur n'est autorisé. Un élément ne peut pas avoir deux attributs du même nom. Puisque l'ordre dans lequel les attributs apparaissent dans un élément est négligé par XML, il se peut qu'il ne soit pas être conservé par l'analyseur XML.
Comme les noms des éléments, les noms des attributs sont sensibles à la casse et doivent commencer par une lettre ou un trait de soulignement. Le reste du nom peut contenir des lettres, des chiffres, des traits d'union, des traits de soulignement et des points.
Remarque : |
---|
Les caractères deux points (:) sont réservés pour les espaces de noms.Pour plus d'informations sur les caractères Unicode autorisés, voir l'Annexe B de la spécification XML. |
Les valeurs des attributs doivent suivre les mêmes règles que le contenu textuel normal, avec quelques restrictions supplémentaires. Les valeurs d'attributs ne peuvent contenir que du texte, aucune balise d'élément. Les références d'entités et de caractères sont autorisées dans les valeurs d'attributs, mais pas les sections CDATA.
Enfin, il peut être nécessaire de faire précéder les guillemets de caractères d'échappement. La spécification XML permet d'utiliser des guillemets simples ou doubles pour indiquer des attributs, bien que les guillemets doivent être du même type de part et d'autre de la valeur de l'attribut. Vous devez toutefois utiliser des guillemets autour des valeurs d'attributs. Les analyseurs XML rejettent simplement les documents qui n'utilisent pas de guillemets autour des valeurs d'attributs et signalent une erreur.
Si vous utilisez des guillemets simples pour indiquer une valeur d'attribut, vous devez utiliser la référence d'entité '
pour identifier des guillemets simples à l'intérieur de cette valeur.
<myElement contraction='isn't' />
Si vous utilisez des guillemets doubles pour indiquer une valeur d'attribut, vous devez utiliser la référence d'entité "
pour identifier des guillemets doubles à l'intérieur de cette valeur.
<myElement question="They asked "Why?"" />
Vous pouvez toutefois utiliser des guillemets doubles à l'intérieur d'une valeur d'attribut entourée de guillemets simples et vice versa, comme dans les exemples suivants.
<myElement contraction="isn't" />
<myElement question='They asked "Why?"' />
Vous pouvez également utiliser différents types de guillemets pour indiquer différentes valeurs d'attributs dans un même élément.
<myElement contraction="isn't" question='They asked "Why?"' />
Les analyseurs XML ne conservent pas les espaces blancs contenus dans les valeurs d'attributs de la même manière que ceux qui figurent dans le contenu textuel des éléments. Dans un analyseur de validation qui accède à une DTD, tous les espaces blancs contenus dans une valeur d'attribut d'un type autre que CDATA sont remplacés par un espace simple ; les espaces blancs en début et fin de valeur sont éliminés.