Duplicata possible :
Quelles sont les valeurs valables pour l'attribut id en HTML ?
Les underscores semblent bien. Et les tirets ? D'autres caractères spéciaux ?
Duplicata possible :
Quelles sont les valeurs valables pour l'attribut id en HTML ?
Les underscores semblent bien. Et les tirets ? D'autres caractères spéciaux ?
En fait il y a une différence entre le HTML et le XHTML. XHTML est du XML les règles de XML Id s'appliquent:
Les valeurs de type ID DOIT correspondre au Nom de la production.
NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
Source: Extensible Markup Language (XML) 1.0 (Cinquième Édition) 2.3
Pour le code HTML est le suivant:
id = nom [CS]
Cet attribut permet d'attribuer un nom à un élément. Ce nom doit être unique dans un document.L'ID et le NOM de jetons doit commencer par une lettre ([A-Za-z]) et peut être suivi par un nombre quelconque de lettres, de chiffres ([0-9]), des tirets ("-"), des traits de soulignement ("_"), deux-points (":"), et des périodes de (".").
La spécification du W3C Types de données HTML de base dit " Les jetons ID et NAME doivent commencer par une lettre ([A-Za-z]) et peuvent être suivis d'un nombre quelconque de lettres, de chiffres ([0-9]), de tirets ("-"), de traits de soulignement (" `` "), les deux-points (" :") et les points (".")."_
Si l'on prend le titre de votre question au pied de la lettre, alors ni les règles HTML ni les règles XHTML ne s'appliquent. Au lieu de cela, la spécification pertinente est la spécification DOM.
En prenant DOM Level 3 comme source, et en supposant que par "DOM ID" vous voulez dire un attribut avec l'indicateur "ID" activé, alors la valeur est un "DOMString", dont les caractères peuvent être n'importe quel caractère encodable UTF-16.
Unité de 16 bits
L'unité de base d'un DOMString. Ceci indique que l'indexation sur un DOMString se fait par unités de 16 bits. Ceci ne doit pas ne doit pas être interprété comme signifiant qu'un DOMString peut stocker des unités arbitraires de 16 bits. arbitraires. Un DOMString est une chaîne de caractères de caractères codée en UTF-16 ; cela signifie que que les restrictions de l'UTF-16 ainsi que ainsi que les autres restrictions pertinentes restrictions pertinentes sur les chaînes de caractères doivent être maintenues. Un seul caractère, par exemple par exemple sous la forme d'une référence numérique référence de caractère, peut correspondre à une ou deux unités de 16 bits.
Bien sûr, ce n'est probablement pas ce que vous voulez, et la réponse de Ludwig Weinzierl correspond à ce que vous recherchiez. Cependant, il est sage de comprendre que tous les DOM ne peuvent pas être sérialisés en HTML ou XHTML et que le DOM a son propre ensemble de règles.
Pour ce qui est du html valide ou xhtml, Philippe a raison. Pas d'espaces ou de caractères spéciaux (en tout cas aucun qui nécessite un échappement) pour les attributs id. Il suffit d'utiliser l'alphabet à 52 caractères, les majuscules et les minuscules, les chiffres de 0 à 9, les tirets ("-"), les traits de soulignement ("_"), les deux points (" :") et les points (".").
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.