Sommaire
Cette section de la spÚcification dÚcrit les types de donnÚes fondamentaux qui peuvent apparaätre comme un contenu d'ÚlÚment ou une valeur d'attribut.
Consultez le manuel SGML, pour obtenir une information prÚliminaire sur la lecture d'une DTD HTML.
Chaque dÚfinition d'attribut inclut l'information à propos de la sensibilitÚ Ã la casse de ses valeurs. L'information de casse est prÚsentÚ avec les clÚs suivantes :
Si une valeur d'attribut est une liste, les clÚs s'appliquent à toutes les valeurs de la liste, à moins d'un indication contraire.
La dÚclaration de document type spÚcifie la syntaxe du contenu de l'ÚlÚment HTML et des valeurs d'attribut en utilisant les jetons SGML suivants (e.g., PCDATA, CDATA, NAME, ID, etc.). L'information à propos de la signification sur ces jetons et comment les clients devraient les interprÚter peut Ætre trouvÚ dans [GOLD90].
Voici un rÚsumÚ des informations clÚs :
Les clients peuvent ignorer les espaces majeurs et les espaces restants dans les valeurs d'attributs CDATA (e.g., " myval " peut Ætre interprÆtÚ comme "myval"). Les auteurs ne devraient pas dÚclarer de valeurs d'attribut avec des espaces majeurs et des espaces restants.
Pour quelques-uns des attributs HTML 4.0 avec des valeurs d'attributs CDATA, la spÚcification impose plus de contraintes sur l'ensemble des valeurs autorisÚes qui ne peut pas Ætre exprimÚ dans une DTD.
Bien que les ÚlÚments STYLE et SCRIPT utilisent CDATA pour leur mod¶le de donnÚes, pour ces ÚlÚments, CDATA doit Ætre considÚrÚ diffÚrement par les clients. Descripteurs et entitÚs doivent Ætre traitÚs comme du texte brut et passÚ Ã l'application tel quel. La premi¶re occurence d'une sÚquence de caract¶re "</" (dÚlimiteur ouvert de fin de balise) est traitÚ comme terminant la fin du contenu d'un ÚlÚment. Dans les documents valides, ce devrait Ætre la balise de fin de l'ÚlÚment.
Un nombre d'attributs (%Text; dans la DTD) signifie que le texte est "lisible par l'humain". Pour une introduction à propos des attributs, consultez le manuel à propos des attributs.
Cette spÚcification utilise le terme URL pour le terme gÚnÚrique d'identificateurs de ressource appelÚs "URI" dans [RFC1630], incluant le terme "URL" comme dÚfini dans [RFC1738] et [RFC1808], et le terme "URN" comme dÚfini dans [RFC2141].
Les URLs sont reprÚsentÚs dans la DTD par l'entitÚ param¶tre %URL.
Les URLs en gÚnÚral sont sensibles à la casse. Il existe des URLs, ou des parties d'URLs, oÿ la casse importe peu (e.g., les noms de machines), mais dÚterminer ceci peut ne pas Ætre facile. Les utilisateurs devraient toujours considÚrer que les URLs sont sensibles à la casse.
Les URLs relatifs sont ramenÚes à des URLs complets utilisant un URL de base. [RFC1808] dÚfinit l'algorithme normatif de ce procÚdÚ. Pour obtenir des informations à propos des URLs de base, consultez la section sur les URLs de base dans le chapitre sur les liens.
Consultez l'appendice, pour obtenir de l'information à propos de l'Úcriture des caract¶res non-ASCII dans les URLs.
La valeur d'attribut de type "color" (%Color) se rÚferre aux dÚfinitions des couleurs comme spÚcifiÚ dans [SRGB]. Une valeur de couleur peut Ætre un nombre hexadÚcimal (prÚcÚdÚ d'un di¶se) ou d'un des 16 noms de couleurs suivants. Les noms des couleurs sont insensibles à la casse.
![]() | Black = "#000000" | ![]() | Green = "#008000" |
![]() | Silver = "#C0C0C0" | ![]() | Lime = "#00FF00" |
![]() | Gray = "#808080" | ![]() | Olive = "#808000" |
![]() | White = "#FFFFFF" | ![]() | Yellow = "#FFFF00" |
![]() | Maroon = "#800000" | ![]() | Navy = "#000080" |
![]() | Red = "#FF0000" | ![]() | Blue = "#0000FF" |
![]() | Purple = "#800080" | ![]() | Teal = "#008080" |
![]() | Fuchsia = "#FF00FF" | ![]() | Aqua = "#00FFFF" |
Donc, les valeurs de couleur "#800080" et "Purple" se rÚferre toutes deux à la couleur violette.
Bien que les couleurs peuvent Ætre un artifice signifcatif d'ajout d'informations à un document et rendre celui-ci plus lisible, considÚrez les r¶gles suivantes quand vous utilisez des couleurs dans vos documents :
HTML spÚcifie trois type de valeurs de longueur pour les attributs :
Les valeurs de longueur sont neutres à la casse
Note. Un type mÚdia (dÚfini dans [RFC2045] et dans [RFC2046]) spÚcifie la nature d'une ressource liÚ. Cette spÚcification emploie le terme content type plutút que type mÚdia par respect des usages courants.
Ce type est reprÚsentÚ dans la DTD par %ContentType.
Les types de contenus sont insensibles à la casse.
Les exemples de types de contenus comprennent "text/html", "image/png", "image/gif", "video/mpeg", "audio/basic", "text/tcl", "text/javascript", et "text/vbscript". Pour la liste actuelle des types MIME, consultez [MIMETYPES].
Note. Le type de contenu "text/css", bien que non enregistrÚ par IANA, devrait Ætre utiliser quand la ressource liÚe est une feuille de style [CSS1].
La valeur des attributs dont le type est un code de langue (%LanguageCode dans la DTD) se rÚferre à unn code de langue tel que spÚcifiÚ par [RFC1766]. Pour obtenir des informations à propos des codes de langue en HTML, consultez la section sur les codes de langue. Les espaces ne sont pas permis au sein du code de langue.
Les attributs "charset" (%Charset dans la DTD) se rÚferre à un encodage de caract¶re tel que dÚcrit dans la section sur l'encodage de caract¶re. Les valeurs doivent Ætre des chaänes de caract¶res (e.g., "euc-jp") tirÚ du registre IANA (voir [CHARSETS] pour une liste compl¶te). Les noms pour l'encodage des caract¶res sont insensibles à la casse.
Les clients doivent suivre les Útapes spÚcifiÚ dans cette section afin de choisir l'encodage des caract¶res afin de dÚterminer l'encodage des caract¶res d'une ressource externe.
Parfois les attributs appelle un caract¶re unique de la table des caract¶res du document. Ces attributs prennent le type %Character dans la DTD.
Les caract¶res uniques peuvent Ætre spÚcifiÚs avec les caract¶res rÚfÚrences (e.g., "&").
[ISO8601] permet beaucoup de variationbs dans la reprÚsentation des dates et des heures. La spÚcification actuelle utilise l'un de ces formats dÚcrits dans le profil [DATETIME] pour la dÚfinition des chaänes lÚgales de date/heure (%Datetime dans la DTD).
Le format est :
YYYY-MM-DDThh:mm:ssTZDwhere:
YYYY = annÚe sur 4 chiffres MM = mois sur 2 chiffres (01=Janvier, etc.) DD = jour du mois sur 2 chiffres (01 Ã 31) hh = heure sur 2 chiffres (00 Ã 23) (am/pm non autorisÚ) mm = minute sur 2 chiffres (00 Ã 59) ss = seconde sur 2 chiffres (00 Ã 59) TZD = indicateur de fuseau horaire (Time Zone Designator)
L'indicateur de fuseau horaire est un de ceux-ci :
Les composantes exposÚs doivent Ætre prÚsente exactement avec cette Úcriture et ponctuation. Notez que le "T" apparait littÚralement dans la chaäne (il doit Ætre en majuscule), afin d"indiquer le dÚbut de l'ÚlÚment temps, comme spÚcifiÚ dans [ISO8601]
Si une application de gÚnÚration ne connait pas l'heure au niveau des secondes, elle peut utiliser la valeur "00" pour les secondes (et minutes et heures si nÚcessaires).
Note. [DATETIME] ne rÚsoud pas les secondes de rattrapage.
Les auteurs peuvent utiliser les types de liens suivants reconnus, listÚs ici avec leur interprÚtation conventionnelle. Ceux ci sont dÚfinis comme Útant non sensible à la casse, i.e., "Alternate" à la mÆme signification que "alternate". Dans la DTD, %LinkTypes se rÚferre à une liste de types de liens sÚparÚs par des espaces. Les espaces ne sont pas permis au sein des types de lien.
Les clients, les moteurs de recherche, etc. peuvent traiter les types de liens dans une grande variÚtÚ d'interprÚtation. Par exemple, les clients peuvent fournir un acc¶s à des documents liÚs à travers une barre de navigation.
Les auteurs peuvent souhaiter dÚfinir des types de liens additionnels non dÚfinis par la spÚcification. S'ils le font, ils devraient utiliser un profil pour annoncer les conventions utilisÚes pour dÚfinir les types de liens. Voir l'attribut profile de l'ÚlÚment HEAD pour plus de dÚtails.
A propos des discussions sur les types de liens, consulter la section sur les liens dans les documents HTML.
Voici la liste des descripteurs de media reconnu (%MediaDesc dans la DTD).
Les versions futures de HTML peuvent introduire de nouvelles valeurs et peuvent permettrent des valeurs paramÚtrÚes. Pour faciliter l'introduction de ces extensions, les clients se conformant à cette spÚcification doivent Ætre capable de traiter la valeur d'attribut media comme suit :
media="screen, 3d-glasses, print and resolution > 90dpi"
est compris de cette mani¶re :
"screen" "3d-glasses" "print and resolution > 90dpi"
"screen" "3d-glasses" "print"
Note. Les feuilles de styles peuvent contenir en leurs seins des variations dÚpendantes du mÚdia (e.g., la construction du @media CSS). Dans certains casn il peut Ætre appropriÚ d'utiliser "media=all".
Le contenu de l'ÚlÚment SCRIPT et la valeur des attributs ÚvÚnements intrins¶ques sont des donnÚes script (indiquÚ par le %Script; dans la DTD). Ces donnÚes ne doivent pas Ætre ÚvaluÚes par le client comme descripteur HTML. Le client doit passer les donnÚes telle quelles à interprÆteur de script. La sensibilitÚ Ã la casse est dÚpendant du langage de scripting.
Les lecteurs HTML doivent Ætre capable de reconnaätre les donnÚes script d¶s la balise de dÚbut et se terminer d¶s que les dÚlimiteurs ETAGO ("</") sont suivis un caract¶re ([a-zA-Z]). Les donnÚes scripts ne se termine pas nÚcessairement avec la balise de fin </SCRIPT> mais sont terminÚes par "</" suivi par un caract¶re.
Par consÚquent, tout descripteur HTML qui est envoyÚ par le moteur de scripting (qui fait ce qu'il veut avec le descripteur) doit Ætre "escaped" afin de ne pas pertuber le lecteur HTML. Les concepteurs de chauqe langage de scripting devraient recommander un support spÚcifique en fonction du langage afin de rÚsoudre ce probl¶me.
EXEMPLE ILLEGAL :
Le code suivant est invalide dõ Ã la prÚsence des caract¶res
"</" prÚsents, comme une partie de "</EM>", Ã l'intÚrieur de l'ÚlÚment SCRIPT :
<SCRIPT type="text/javascript"> document.write ("<EM>Cela ne marche pas</EM>") </SCRIPT>
un lecteur conforme doit traiter les caract¶res "</" comme indicateur de fin des donnÚes script, ce qui clairement n'est pas ce que l'auteur a prÚvu.
En JavaScript, ce code peut Ætre Úcrit correctement en s'assurant que la prÚsence du dÚlimiteur ETAGO ne soit apparente avant un caract¶re SGML de dÚpart :
<SCRIPT type="text/javascript"> document.write ("<EM>Ceci marche<\/EM>") </SCRIPT>
En Tcl, On peut l'accomplir comme cela :
<SCRIPT type="text/tcl"> document write "<EM>Ceci marchera<\/EM>" </SCRIPT>
En VBScript, Le probl¶me peut Ætre ÚvitÚ par la fonction Chr() :
"<EM>Ceci marchera<" & Chr(47) & "EM>"
A l'exception des noms rÚservÚs listÚs ici, les noms de cible des frames (%FrameTarget; dans la DTD) doivent commencer avec un caract¶re alpahbÚtique (a-zA-Z). Les clients devraient ignorer tous les autres noms cibles.
Les noms suivants sont rÚservÚs et ont une signification particuli¶re.