Je sais comment les espaces blancs sont gérés dans les nœuds de texte pour XML et HTML, mais je ne suis pas sûr des espaces blancs à l'intérieur des éléments de balises eux-mêmes. Bien entendu, les espaces sont utilisés à l'intérieur des balises pour séparer les attributs, mais est-il valide d'avoir des espaces après "<" ou avant ">"?
Par exemple:
< foo >
< /foo >
Ou même:
<foo>
< / foo >
Ces balises sont-elles valides XML? Qu'en est-il du HTML, à supposer qu'il s'agisse de noms de balises HTML réels?
La spécification (section 3.1 Balises de début, balises de fin et balises d'éléments vides) indique qu'il n'y a pas d'espace blanc entre le '<'
et le nom de la balise, entre '</'
et le nom de la balise, ou à l'intérieur de '/>'
. Vous pouvez ajouter un espace après le nom de la balise, cependant:
<foo >
</foo >
<bar
/>
</
et />
sont des jetons. Les espaces entre les deux caractères constituent donc une erreur de syntaxe. Et comme Guffa a souligné , les espaces ne sont pas autorisés entre le jeton d'ouverture et le nom. Mais vous pouvez très bien ajouter des espaces entre la balise element et le jeton >
(ou />
) de clôture.
&EACUTE;DITE pour refléter la référence correcte de Guffa à la spécification XML.
La norme HTML [5] semble correspondre exactement à la norme XML, telle que décrite par Guffa ...
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#start-tags
Vous ne pouvez pas commencer par un espace, mais vous pouvez (éventuellement) en terminer avec un (avant le deuxième crochet, qui ferme la première balise).