1 Instructions de traitementCertains agents utilisateurs afficheront des instructions de traitement. Notez cependant que lorsqu'il n'y a pas de déclaration XML dans le document, celui-ci ne peut utiliser que le codage de caractères par défaut UTF-8 ou UTF-16.
2 éléments vides Ajoutez un espace avant les terminateurs d'éléments vides / et >, tels que
,
et
. syntaxe de balise minimale telle que
, car une autre syntaxe autorisée par XML
peut conduire à des résultats peu fiables dans de nombreux agents utilisateurs existants.
3 Minimisation des éléments et contenu d'élément vide Le modèle de contenu n'est pas un élément vide Lorsqu'il est vide (comme un titre vide ou un paragraphe vide), n'utilisez pas de forme de transformation minimale (comme utiliser
, sans
).
4 Feuilles de style et script intégrésSi votre feuille de style utilise ou --, utilisez une feuille de style externe. Si votre script utilise ou --, utilisez un script externe. Notez que les analyseurs XML supprimeront le contenu des commentaires sans vous en informer. Par conséquent, la vieille habitude de « masquer » les scripts et les feuilles de style avec des commentaires rend le document rétrocompatible, mais peut ne pas fonctionner comme prévu lorsqu'il est exécuté sur la base de XML.
5 Sauts de ligne dans les valeurs d'attribut Évitez les sauts de ligne et les espaces multiples dans les valeurs d'attribut. Les agents utilisateurs gèrent ces situations de manière incohérente.
6 IsindexN'utilisez pas plus d'un élément isindex dans la section head du document. L'élément isindex est obsolète au profit de l'élément input.
7 attributs lang et xml:lang Utilisez à la fois les attributs lang et xml:lang lors de la spécification de la langue d'un élément. xml:lang en premier.
8 Identificateur de fragment En XML, terminer l'URI de l'identifiant de fragment sous la forme "#foo" [RFC2396] ne signifie pas que l'élément a un nom d'attribut ="foo" ", mais signifie que l'élément a un attribut défini comme type d'ID, tel que l'attribut id en HTML 4. De nombreux clients HTML ne prennent pas en charge les attributs de type ID de cette manière. La même valeur peut donc être attachée aux deux attributs pour garantir une compatibilité ascendante et ascendante maximale. (par exemple
...).
De plus, comme l'ensemble de valeurs légales des attributs de type ID est beaucoup plus petit que celui des attributs de type CDATA, l'attribut de nom est remplacé par NMTOKEN. Cet attribut est limité aux mêmes valeurs que le type d'ID ou le produit Nom dans la section 2.5 de XML 1.0. Malheureusement, la DTD XHTML ne peut pas exprimer cette limitation. En raison de ce changement, des précautions doivent être prises lors de la conversion de documents HTML existants. Si les valeurs peuvent changer lors de la conversion, les valeurs de ces propriétés doivent être uniques et valides au sein du document, et toute référence à ces identifiants de fragment (qu'ils soient internes ou externes) doit être mise à jour.
Enfin, notez que l'utilisation de l'attribut name dans les éléments a, applet, form, frame, iframe, img et map est obsolète et sera supprimée dans une future version de XHTML.
9 Codage des caractères Pour spécifier le codage des caractères dans le document, utilisez l'attribut encoding dans la déclaration XML (comme. ) et utilisez-le dans instruction méta http-equiv (telle que
). La valeur de l'attribut d'encodage de l'instruction de traitement XML vient en premier.
10 attributs bool辿ens Certains agents utilisateurs HTML ne peuvent pas interpr辿ter les attributs bool辿ens lorsqu'ils apparaissent dans leur forme compl竪te (non r辿duite), ce qui est requis pour XML 1.0 de. Notez que ce probl竪me n'affecte pas la compatibilit辿 de l'agent utilisateur avec HTML 4. Comprend les attributs suivants