Cette spécification a été traduite par Karl Dubost, Normandie Web (karl+misc@la-grange.net) dans une démarche volontaire. Toute amélioration est la bienvenue.
François Yergeau (yergeau@alis.com) pour la correction des détails.
La version française de cette traduction est :
http://www.la-grange.net/w3c/xhtml1/
Traducteur : Karl Dubost - <karl+misc@la-grange.net>
François Yergeau <yergeau@alis.com> pour la correction des détails.
La version française peut contenir des erreurs. La version anglaise de cette spécification est l'unique version normative. Version originale : http://www.w3.org/TR/xhtml1
Copyright ©2000 W3C® (MIT, INRIA, Keio), tous droits réservés. Les règles du W3C sur la responsabilité, les marques déposées, les droits d'auteurs and les licences de logiciels sont appliquées.
Cette spécification définit XHTML 1.0, comme une reformulation de HTML 4 en une application XML 1.0, et trois DTDs correspondant àcelles définies par HTML 4. Les sémantiques des éléments et leurs attributs sont définis dans la Recommendation W3C pour le HTML 4. Ces sémantiques définissent les fondations de l'extensibilité future de XHTML. La compatibilité avec les agents utilisateurs HTML actuels est possible en suivant un ensemble raisonnable de règles.
Cette section décrit le statut de ce document à la date de sa publication. D'autres documents pourront remplacer ce document. Le dernier status de cette série de document est maintenu au W3C.
Ce document a été validé par les membres du W3C ainsi que par d'autres organismes et a été approuvé par le Directeur comme une recommandation. C'est un document stable et il peut-être utilisé comme document de référence et peut être cité comme un référence normative pour d'autres documents. Le rôle du W3C dans l'établissement de cette recommandation est d'attirer l'attention sur la spécification et de promouvoir sa large diffusion. Ceci améliore la fonctionnalité et l'interopérabilité du Web.
Ce document a été produit comme une partie de l'Activité HTML du W3C. Les buts du Groupe de travail HTML (réservé aux membres) sont discutés au sein des statuts du Groupe de Travail HTML (réservé aux membres).
Une liste des recommandations actuelles et d'autres documents techniques peut être trouvée à http://www.w3.org/TR.
La discussion publique à propos des spécificités du HTML a lieu sur la liste de discussion www-html@w3.org (archive).
Faites part des erreurs de ce document à www-html-editor@w3.org.
La liste des erreurs connues de cette spécification est disponible à http://www.w3.org/2000/01/REC-xhtml1-20000126-errata.
XHTML est une famille de types de documents futurs et actuels et de modules qui reproduit, détermine des sous-ensembles, et étends HTML 4 [HTML]. La famille XHTML des types de documents est basée sur XML, et est conçue finalement pour fonctionner en accord avec les agents utilisateurs supportant XML. Les détails de cette famille et de son évolution sont discutés plus en détail dans la section Prospectives futures.
XHTML 1.0 (cette spécification) est le premier type de document dans la famille XHTML. C'est une reformulation des trois types de documents HTML 4 en tant qu'applications de XML 1.0 [XML]. Il a été conçu dans le but d'être utilisé come un langage pour le contenu qui est, à la fois, conforme à XML et, si des règles simples sont suivies, fonctionne également avec les agents utilisateurs compatible HTML4. Les développeurs qui font migrer leur contenu vers XHTML 1.0 réaliseront les bénéfices suivants :
La famille XHTML est la prochaine étape de l'évolution d'internet. En migrant aujourd'hui vers XHTML, les développeurs de contenu peuvent entrer dans le monde XML avec tous ses bénéfices attendus, tout en restant confiant sur la compatibilité ascendante et future de leur contenu.
HTML 4 [HTML] est une application SGML (Standard Generalized Markup Language) conforme au standard international ISO 8879, et qui est largement admise comme le standard du langage de publication du World Wide Web.
SGML est un langage pour décrire les langages de structuration (balisage), particulièrement ceux utilisées dans l'échange de documents électroniques, la gestion documentaire, et la publication de document. HTML est un exemple de langage défini en SGML.
SGML a été créé au milieu des années 80 et est resté stable. Cette stabilité est inhérente au fait que le langage est riche de fonctionnalité et souple. Cette souplesse a, tout de même, un prix, et ce prix est un niveau de complexité qui a empêché son développement dans une grande diversité d'environnements, dont le World Wide Web.
HTML, comme il a été conçu à l'origine, a été défini pour être un langage d'échange de documents scientifiques et techniques, et utilisable par des non spécialistes de la grammaire syntaxique. HTML a résolu le problème de la complexité SGML en spécifiant un petit ensemble de balises sémantiques et structurelles, facilement utilisable pour l'écriture de documents relativement simples. De même pour simplifier la structure du document, HTML a ajouté la possibilité de l'hypertexte. Les capacités Multimedia seront ajoutées plus tard.
En un cours espace de temps, HTML est devenu très populaire et a rapidement dépassé sa fonction première. Depuis le commencement de HTML, il y a eu rapidement création de nouveaux éléments au sein de HTML (en tant que standard) et pour adapter HTML aux marchés verticaux, hautement spécialisés. Cette plethore de nouveaux éléments a finalement créé des disparités de compatibilité entre les différentes plateformes.
Comme l'hétérogénité, à la fois des logiciels et des plateformes, s'est rapidement répandue, il est devenu évident que la facilité d'utilisation du HTML 4 'classique' sur ces plateformes est quelque peu limité.
XMLMD est l'abbréviation de Extensible Markup Language, et est un acronyme de Extensible Markup Language [XML].
XML a été conçu comme un moyen de regagner la puissance et la souplesse de SGML sans pour autant subir sa complexité. Bien qu'étant une forme restreinte de SGML, XML préserve pratiquement toute la puissance et la richesse de SGML, et respecte toutes les options habituellement utilisées de SGML.
Bien que conservant ces options avantageuses, XML élimine la plupart des options complexes de SGML qui rendent la conception et l'écriture de logiciels utiles, à la fois difficile et couteux.
Les bénéfices de la migration vers XHTML 1.0 sont décris plus hauts. Quelques uns des bénéfices en général sont :
Les termes suivants sont utilisés dans la spécification. Ces termes étendent les définitions contenus dans la [RFC2119] en s'appuyant sur des définitions similaires à celles de l'ISO/IEC 9945-1:1990 [POSIX.1]:
Cette version de XHTML fournit une définition des documents XHTML strictement conformes, ce qui la restreint aux balises et attributs de l'espace nominatif XHTML. Voir Section 3.1.2 pour avoir de l'information sur l'utilisation de XHTML avec d'autres espaces nominatifs, par exemple, pour inclure des données méta exprimées en RDF à l'intérieur des documents XHTML.
Un Document XHTML strictement conforme est un document qui requiert que tous les aménagements soit décrites comme obligatoires dans cette spécification. Un tel document doit recouvrir tous les critères suivants :
Il doit être validé par l'une des trois DTDs fournies dans l'Appendice A.
L'élément racine du document doit être .
L'élément racine du document doit nommer l'espace nominatif XHTML en utilisant l'attribut xmlns
[XMLNAMES]. L'espace nominatif pour XHTML est défini par http://www.w3.org/1999/xhtml
.
Une déclaration DOCTYPE doit être présente dans le document avant l'élément racine. L'identificateur publique inclue dans la déclaration DOCTYPE doit faire référence à l'une des trois DTDs fournies dans l'Appendice Aen utilisant l'Identificateur Publique Formel. Le système identificateur peut être changé pour agréer aux conventions des systèmes locaux.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
Voici un exemple de document XHTML minimal
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Virtual Library</title> </head> <body> <p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p> </body> </html>
Notez que dans cet exemple, la déclaration XML est inclue. Une déclaration XML comme celle-ci n'est pas requise dans tous les documents XML. Les auteurs de documents XHTML sont fortement encouragés d'utiliser des déclarations XML dans tous leurs documents. Ce type de déclaration est requis lorsque l'encodage du document est différent de ceux par défaut tels que UTF-8 ou UTF-16.
L'espace nominatif XHTML peut être utilisé conjointement avec d'autres espaces nominatifs comme par [XMLNAMES], bien que ce type de documents ne soient pas des documents XHTML 1.0 strictement conformes au sens défini plus tôt. Les travaux futurs du W3C donneront des moyens pour spécifier la conformité des documents impliquant plusieurs espaces nominatifs.
L'exemple suivant montre la manière permettrait d'utiliser conjointement XHTML 1.0 et la recommandation MathML :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Math Example</title> </head> <body> <p>The following is MathML markup:</p> <math xmlns="http://www.w3.org/1998/Math/MathML"> <apply> <log/> <logbase> <cn> 3 </cn> </logbase> <ci> x </ci> </apply> </math> </body> </html>
L'exemple suivant montre la manière qui permettrait d'utiliser le balisage XHTML 1.0 en l'incorporant dans un autre espace nominatif XML :
<?xml version="1.0" encoding="UTF-8"?> <!-- initially, the default namespace is "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en"> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- make HTML the default namespace for a hypertext commentary --> <p xmlns='http://www.w3.org/1999/xhtml'> This is also available <a href="http://www.w3.org/">online</a>. </p> </notes> </book>
Un agent utilisateur conforme doit respecter tous les critères suivants :
ID
(soit l'attribut id
de la plupart des éléments XML) comme les identificateurs partiels.Le processeur XML normalise les codes de fin de ligne des différents systèmes en un unique caractère de fin de ligne, qu'il passe ensuite à l'application. L'agent utilisateur XHTML doit, de plus, traiter les caractères suivants comme des espacements :
Dans les éléments où l'attribut 'xml:space' est défini comme 'preserve', l'agent utilisateur doit laisser tous les caractères d'espacement intacts (à l'exception des caractères d'espacement de début ou de fin, qui doivent être éliminés). Autrement, les espacements sont traités avec les règles suivantes :
Les valeurs d'attribut d'espacement est traité en suivant [XML].
Etant donné que XHTML est une application XML, quelques habitudes qui étaient parfaitement légales dans le HTML 4 basé sur SGML [HTML] doivent être changées.
La rédaction correcte est un nouveau concept introduit par [XML]. Essentiellement, cela signifie que tous les éléments doivent toujours avoir des balises de fin ou être écrit dans une forme particulière (comme expliqué plus bas), et que tous les éléments doivent être emboîtés.
Bien que le chevauchement soit illégal en SGML, il est largement toléré par les navigateurs actuels.
CORRECT : éléments emboités.
<p>here is an emphasized <em>paragraph</em>.</p>INCORRECT : éléments se chevauchant
<p>here is an emphasized <em>paragraph.</p></em>les documents XHTML documents doivent utiliser la casse minuscule pour tous les noms d'élément HTML et les noms d'attribut. Cette différence est nécessaire car XML est sensible à la casse c.a-d.
Dans le HTML 4 basé sur SGML, il est possible d'omettre la balise de fin de certains éléments ; en considérant que l'élément suivant créé une balise de fin implicite. Cette omission n'est plus autorisée dans le XHTML basé sur XML. Tous les éléments autres que ceux déclarés dans la DTD comme EMPTY
doivent posséder une balise de fin.
CORRECT : éléments terminés
<p>here is a paragraph.</p> <p>here is another paragraph.</p>INCORRECT : éléments non terminés
<p>here is a paragraph.<p>here is another paragraph.Toutes les valeurs d'attributs doivent être mise entre guillemets, mais celles qui semblent être numériques.
CORRECT : valeurs d'attributes entre guillemets
<td rowspan="3">INCORRECT : valeurs d'attributs sans les guillemets
<td rowspan=3>XML ne supporte pas la minimisation de l'attribut. la paire Valeur-Attribut doit être écrite au complet. Les noms d'attributs tels que compact
et checked
ne peuvent pas pris comme éléments sans spécifier leurs valeurs.
CORRECT : attributs non minimisés
<dl compact="compact">INCORRECT : attributs minimisés
<dl compact>les éléments vides doivent toujours avoir une balise de fin ou la balise de début doit se terminer avec />
. Par exemple,
ou
CORRECT : balises vides terminées
INCORRECT : balises vides non terminées
<br><hr>Dans les valeurs d'attributs, les agent utilisateurs oteront les espacements de début et de fin des valeurs d'attributs et dresseront une séquence d'un ou plusieurs caractères d'espacements (tels que les retours de lignes) à un unique espacement inter mots (un caractère d'espacement ASCII pour les écritures occidentales). Voir Section 3.3.3 of [XML].
En XHTML, les éléments script et style elements sont déclarés comme ayant un contenu de type #PCDATA
. Ainsi, <
et &
seront traités comme le début d'un balisage, et les entités comme <
et &
seront reconnus comme des références d'entités par le processeur XML, soit <
et &
respectivement. Emballer le contenu des éléments script ou style à l'intérieur d'une section marquée CDATA
évitera la transformation de ces entités.
<script> <![CDATA[ ... unescaped script content ... ]]> </script>
les sections CDATA
sont reconnus par le processeur XMLet apparaissent commes des noeuds dans le Modèle Object de Document (Document Object Model), voir Section 1.3 de la Recommandation DOM Niveau 1 [DOM].
Une alternative est d'utiliser des scripts et des styles externes.
SGML donne au rédacteur d'une DTD la possibilité d'exclure la présence de certains éléments à l'intérieur d'un élément. Une telle interdiction (appelée "exclusions") n'est pas possible en XML.
Par exemple, la DTD HTML 4 Stricte interdit l'emboîtement d'un élément 'a
' dans un autre élément 'a
' à quelques profondeurs que ce soit. Il n'est pas possible de définir ce type d'interdiction en XML. Bien que cette interdiction ne puisse être défini dans la DTD, certains éléments ne devraient pas être emboîtés. Un sommaire de ce type d'éléments et des éléments qui ne devraient pas être emboîtés en leur sein est fournie dans l'Appendice B.
HTML 4 a défini l'attribut name
pour les éléments a
, applet
, form
, frame
, iframe
, img
, and map
. HTML 4 a également introduit l'attribut id
. Ces deux attributs ont été conçus pour être utilisés comme des identificateurs partiels.
En XML, Les identificateurs partiels sont de type ID
, et il ne peut y avoir qu'un unique attribut ID
par élément. En XHTML 1.0 l'attribut id
est aussi défini de type ID
. Pour s'assurer que les documents XHTML 1.0 sont des documents XML correctement structurés, les documents XHTML 1.0 DOIVENT utiliser l'attribut id
quand l'identificateur partiel est défini, même sur les éléments qui historiquement ont également un attribut name
. Voir les règles de compatibilité HTML pour obtenir de l'information pour assurer une compatibilité antérieures lorsque les ancres pointent sur des documents XHTML en tant que type de média text/html
.
Notez qu'en XHTML 1.0, l'attribut name
de ces éléments est formellement abandonné, et il sera éliminé dans les versions suivantes de XHTML.
Bien qu'il ne soit pas obligatoire que les documents XHTML 1.0 soient compatibles avec les agent utilisateurs actuels, cette option est facilement réalisable. Les régles pour créer des documents compatibles peuvent être trouvées dans l'Appendice C.
Comme la publication de cette recommandation, le nommage MIME général recommandé pour les applications n'a pas encore été résolus.
Cependant, les documents XHTML qui suivent les régles définies dans l'Appendice C, "HTML Compatibility Guidelines" peuvent être nommés avec le Type Media Internet "text/html", lorsqu'ils sont compatibles avec la plupart des navigateurs HTML. Ce document ne fait aucune recommandation à propos du choix du nommage MIME pour les autres documents XHTML.
XHTML 1.0 fournit les bases d'une famille de types de documents qui étendront et définiront des sous-ensembles XHTML, de façon à maintenir une large variété de nouveaux matériels et d'applications, en définissant des modules et en spécifiant le mécanisme pour combiner ces modules. Ce mécanisme permettra l'extension et la construction de sous-ensembles de XHTML 1.0 de façon unique à travers la définition de nouveaux modules.
Comme l'utilisation de XHTML se fait des agents utilisateurs traditionnels vers d'autres plateformes, il est clair que tous les éléments XHTML ne seront pas nécessaires sur toutes les plateformes. Par exemple, un ordinateur de poche ou un téléphone cellulaire peuvent seulement maintenir un sous-ensemble d'éléments de XHTML.
Le processus de modularisation éclate XHTML en une séries d'ensembles d'éléments plus petits. Ces éléments peuvent être recombinés afin de remplir les besoins de différentes communautés.
Ces modules seront définis ultérieurement dans un document W3C.
La modularisation apporte certains avantages :
Cela donne un mécanisme formel pour créer des sous-ensembles XHTML.
Cela donne un mécanisme formel pour étendre XHTML.
Cela simplifie la transformation entre les types de documents.
Cela permet la réutilisation de modules dans de nouveaux types de document.
Un profil de document spécifie la syntaxe et les sémantiques d'un ensemble de documents. La conformité à un profil de document donne une base pour garantir l'interopérabilité. Le profil de document spécifie les aménagements obligatoires pour traiter les documents de ce type, c.à-d. quels formats d'images peuvent être utilisés, niveaux de scripting, maintenance des feuilles de style, ainsi de suite.
Les créateurs de produits cela permet à des groupes différents de définir leur propre profil standard.
Pour les auteurs, cela permet d'éviter d'écrire différentes versions d'une même document pour différents clients.
Pour des groupes particuliers comme les chimistes, les docteurs en médecine, ou les mathématiciens cela permet de construire un profil particulier en utilisant les éléments HTML standard, plus un groupe d'éléments spécifiques aux besoins de la spécialité.
Cet appendice est normatif.
Ces DTDs et ces ensembles d'entité forme une partie normative de cette spécification. L'ensemble complet des fichiers DTD ainsi que la déclaration XML et le SGML Open Catalog sont inclus dans le fichier zip pour cette spécification.
Ces DTDs s'approchent des DTDs HTML 4. Il est préferrable lorsque les DTDs sont modularisées, d'employer une méthode de construction de la DTD qui se rapproche de HTML 4.
Les ensembles d'entité XHTML sont les mêmes que pour HTML 4, mais ont été modifiés pour des déclarations d'entités XML 1.0 valides. Notez que l'entité pour le symbole de la monnaie européenne Euro (€
ou €
ou €
) est défini comme faisant parti des caractères spéciaux.
Cette appendice est normatif.
Les éléments suivants ont des interdits sur les éléments qu'ils peuvent contenir (voir Section 4.9). Cette interdiction s'applique à toutes profondeurs d'emboîtements, c.à-d. pour tous les éléments fils.
a
a
.pre
img
, object
, big
, small
, sub
, ou sup
.button
input
, select
, textarea
, label
, button
, form
, fieldset
, iframe
ou isindex
.label
label
.form
form
.Cet appendice est informatif.
Cet appendice résume les règles pour les auteurs qui souhaitent que leur document XHTML s'affiche sur les agents utilisateurs existants.
Vérifiez que les instructions de traitement s'éxécutent sur les agent utilisateurs. Cependant, notez également que si la déclaration XML n'est pas incluse dans un document, le document peut utiliser uniquement le jeu de caractère par défaut UTF-8 ou UTF-16.
Inclure un espacement avant le /
et >
de fin des éléments vides, par exemple <br />
, <hr />
et <img src="karen.jpg" alt="Karen" />
. Utilisez également une syntaxe minale pour les éléments vides, par exemple <br />
, comme syntaxe alternative de <br></br>
qui est autorisé par XML, car cela donne des résultats inattendus dans certains agents utilisateurs.
Soit une occurrence vide d'un élément dont le modèle de contenu n'est pas EMPTY
(par exemple, un titre ou un paragraphe vide), n'utilisez pas la forme minimisée (utilisez <p> </p>
et non pas <p />
).
Utilisez des feuilles de style externe si votre feuille de style utilise <
ou &
ou ]]>
ou --
. Utilisez des scripts externes si vos scripts utilisent <
ou &
ou ]]>
ou --
. Notez que les parseurs XML ont le droit d'éliminer le contenu des commentaires. Par conséquent, la pratique historique de "cacher" ses scripts et ses feuilles de style au sein d'un commentaire pour rendre les documents compatibles avec les anciens navigateurs n'est pas conseillée car elle ne fonctionnera comme attendue dans les mises en oeuvre basées sur XML.
Evitez les retours de ligne et les caractères d'espacement muliples au sein des valeurs d'attributs. Ils seront traités illogiquement par les agents utilisateurs.
Ne mettez pas plus d'un élément isindex
dans le head
d'un document. L'élément isindex
est abandonné en faveur de l'élément input
.
lang
et xml:lang
Utilisez les deux attributs lang
et xml:lang
lorsque vous spécifiez le langage d'un élément. La valeur de l'attribut xml:lang
est prioritaire.
En XML, les URIs [RFC2396] qui termine avec des identificateurs partiels de la forme "#foo"
ne se réfère pas aux éléments avec un attribut name="foo"
; mais au contraire, ils se réfèrent aux éléments avec un attribut défini de type ID
, c-à.d., l'attribut id
de HTML 4. Beaucoup de clients HTML existants ne maintiennent pas l'utilisation des attributs de type ID
de cette manière, donc des valeurs identiques doivent être fournies pour les deux attributs pour assurer une compatibilité ascendante et descendante maximum (c.à-d., ...
).
Egalement, depuis que l'ensemble des valeurs légales définies pour les attributs de type ID
est bien plus restreint que pour ceux de type CDATA
, le type de l'attribut name
a été changé en NMTOKEN
. Cet attribut est contraint de manière à ce qu'il ne puisse avoir que les mêmes valeurs que celles de type ID
, ou comme la production Name
en XML 1.0 Section 2.5, production 5. Malheureusement, cette contrainte ne peut pas être exprimée dans les DTDs XHTML 1.0. A cause de ces changements, la plus grande attention doit être prise lors de la conversion de vos documents HTML existants. Les valeurs de ces attributs doivent être uniques à l'intérieur d'un document, valides et toutes références à ces identificateurs partiels (qu'ils soient internes ou externes) doit être mise à jour même si les valeurs doivent être changées durant la conversion
Finalement, notez que le XHTML 1.0 a abandonné l'attribut name
des éléments a
, applet
, form
, frame
, iframe
, img
, and map
, et qu'il sera éliminé dans les versions suivantes.
Pour spécifier l'encodage de caractère dans le document, utilisez la spécification de l'attribut d'encodage dans la déclaration xml (par exemple <?xml version="1.0" encoding="EUC-JP"?>
) et une déclaration meta http-equiv (par exemple <meta http-equiv="Content-type" content='text/html; charset="EUC-JP"' />
). La valeur de l'attribut d'encodage de instruction de traitement xml est prioritaire.
Quelques agent utilisateurs HTML sont incapables d'interprêter les attributs booléens quand ils apparaissent dans leur forme complète (non-minimisée), tels que requis par XML 1.0. Notez que ce problème n'affecte pas les agents utilisateurs compatibles avec HTML 4. Cela concerne les attributs suivants : compact
, nowrap
, ismap
, declare
, noshade
, checked
, disabled
, readonly
, multiple
, selected
, noresize
, defer
.
La recommandation de Modèle Objet du Document niveau 1 [DOM] définit les interfaces du modèle objet du document pour XML et HTML 4. Le modèle objet du document du HTML 4 spécifie que les noms des élements et des attributs HTML sont retournés en casse majuscule. Le modèle objet du document XML spécifie que les noms des élements et des attributs sont retournés dans la casse spécifiée. En XHTML 1.0, les noms des éléments et des attributs sont spécifiés dans la casse minuscule. Cette différence apparente peut être fixée de 2 manières :
text/html
via le DOM peuvent utiliser le DOM HTML, et peuvent s'appuyer sur des noms d'éléments et d'attributs retournés en majuscule par ces interfaces.text/html
ou application/xml
peuvent également utiliser le DOM XML. Les noms des élements et des attributs seront retournés dans la casse minuscule. Quelques éléments XHTML peuvent apparaitre ou ne pas apparaître, également, dans l'arbre d'objet parce-qu'ils sont optionnels dans le modèle de contenu (par exemple l'élément tbody
à l'intérieur d'un tableau table
). Cela arrive parce-qu'en HTML 4 quelques éléments avaient la permission d'être minimisés tels que leur balise de début et de fin pouvaient être toutes les deux omises (une fonctionnalité SGML). Ce n'est pas possible en XML. Plutôt que de demander aux auteurs de document d'insérer des éléments hors contexte, XHTML a rendu les éléments optionnels. Les applications ont besoin de s'adapter en respectant cela.Quand une valeur d'attribut contient une esperluette, il doit être exprimé comme une référence d'entité du caractère (par exemple "&
"). Par exemple, quand l'attribut href
de l'élément a
pointe vers un script CGI qui accepte des paramètres, il doit être exprimé comme ceci http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
plutôt que http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
.
La recommandation des feuilles de style imbriquée niveau 2 [CSS2] définit les propriétés qui sont appliquées à l'arbre d'analyse grammaticale du document HTML ou XML. Les différences dans l'analyse produiront différents résultats sonores ou visuels, dépendant des sélecteurs utilisés. Les indicateurs suivants réduiront cet effet pour des documents qui sont distribués sans modification des deux types de média :
Cet appendice est informatif.
Cette spécification a été écrite avec la participation des membres du groupe de travail HTML du W3C :
Cet appendice est informatif.