La déclaration du type de document
Pourquoi spécifier le type de document?
Parce qu'il y a des diverses versions de l'HTML, il faut qu'un navigateur Web
soit en état de connaître à lequel il aura affaire. Ça va de tels faits
triviaux comme des éléments HTML connus à la question comme il faut présenter
tels éléments. Comme des éléments et attributs étaient ajoutés et éliminés avec
le temps, le navigateur devrait deviner la version de HTML à laquelle il a
affaire – et gare lorsqu'il reconnaît quelque chose de faux! Le navigateur va
inévitablement présenter la page faussement dans ce cas.
Beaucoup de pages étaient en outre créées en un temps quand des divers
fournisseurs essayaient imposer leurs propres concepts ou le standard était
tout simplement réalisé faussement. Il y nécessite à reculer au mode fautif
pour correctement présenter ces vieilles pages, d'autant qu'il n'y a
nécessairement la possibilité à adapter ces pages aux nouveaux standards. Ils
sont notamment des pages archivées qui posent des problèmes comme il est
douteux lorsque l'éditeur originel pourrait au fait reviser ces pages.
L'autre avantage qui s'y produit est la possibilité à vérifier la validité d'un document y caractérisé, soit sa structure s'accorde aux règles donnés par la déclaration du type de document. On y pourrait facilement découvrir et éliminer des éventuelles erreurs. Ceci n'est pas justement possible si la déclaration du type de document comme il n'y a aucunes informations à l'aide desquelles le document pourrait être vérifié. Il faut partir du principe dans ce cas que le document est fautif, donc le navigateur commute au mode quirks.
en hautPourrait-on la bonnement omettre?
Non, parce que le navigateur n'obtient aucunes informations comme il doit
traiter le document. Comme la déclaration du type de document fut omise dans
des vieux documents, le navigateur doit présumer que le document était créé
conformant à un standard âgé, et il commute au soi-disant
mode quirks dans lequel il applique le
modèle de box
fautif qui diffère duquel du mode standard.
On pourrait démontrer la différence le plus facilement par créer deux documents
exactement à l'identique sauf qu'un ne contienne aucune déclaration du type de
document. Quand l'un document est présentable, l'autre en règle générale paraît
dépareillé. Dépendant sur le mode pour lequel le document était créé, il y a
parfois des considérables problèmes avec la représentation dans l'autre mode
respectivement.
Le mode standard
Dans ce mode le navigateur montre un document HTML comme demandé par le
W3C pour des
navigateurs suivant le standard de CSS. Le mode standard doit donc veiller à ce
que toutes pages Web soient montrées à la même façon dans n'importe quel
navigateur Web. Malheureusement ce n'est pas vrai à cent pour cent, donc
quelques navigateurs encore présentent les pages montrés faussement même s'ils
commutent au mode standard, bien que ce sont des bagatelles. Mais dans l'absolu
on pourrait dire que des navigateurs moderns y font bonne figure entre-temps.
Pour rester compatible avec des devenirs il est recommandé d'utiliser un type
de document qui fait le navigateur activer le mode standard.
Le mode presque standard
Ce mode opère comme le mode standard avec une exception. Ils sont seulement les
éléments inline sans pourtour même si un écart extérieur et intérieur étant ou
vides ou contenant seulement des espaces qui sont présentés à une façon comme
si le navigateur a commuté au mode quirks: La hauteur de tels éléments est tout
simplement ignorée.
Des problèmes se produisirent notamment lorsque des images étaient fragmentées
et les individuelles pièces de laquelle casées dans une table, p. ex. pour
munir quelques parts de l'image des liens, etc. Tandis que l'image semble une
seule image non fragmentée dans le mode quirks bien qu'elle est sectionnée en une
multitude des cellules d'une table, il y a tout à coup des espaces dans le
mode standard: L'image qui semble une seule pièce est y désagrégée et devient
peu engageante.
Pour préserver notamment des vieilles mises en place de ces désastres, le mode
presque standard montrant touts éléments selon du standard du W3C, sauf des
éléments inline vides sans des spécifications concernant le portour, était
conçu. Mais c'est lié aux certaines déclarations du type de document qui font
le navigateur commuter à ce mode.
Des navigateurs qui ne supportent ce mode commutent au mode
standard au lieu de cela.
Le mode quirks
Ce mode joue pour des vieux documents créés quand la soi-disant guerre des navigateurs Web entre le Netscape Navigator et l'Internet Explorer était à son apogée. Plusieurs nouveaux éléments y eurent été introduits que n'avaient pas été contenus dans le standard publié par le W3C ou, si oui, avaient été présentés à une façon différent duquel – que conduisait très tôt à ce que beaucoup de pages pussent être présentées raisonnablement seulement par un particulier navigateur et pas par des autres. Ces développements incontrôlables résultants bien sûr conduisirent à un nombre important de problèmes dans des navigateurs suivants qui ont devenus plus stricts en observer les standards, parce que ces vieilles pages n'étaient plus présentéescorrectement du tout dans le mode standard.
Pour prendre ce problème en compte, le mode quirks (angl.
quirk pour singularité, tic) fut introduit qui
permet une présentation correcte pour tels vieux documents.
Le navigateur va interpréter les indications CSS contrairement au standard et
donc permet montrer présentablement des pages créées avec des informations de
formatage fautives.
La structure de la déclaration du type de document
La déclaration du type de document est placé premièrement dans un document HTML et suit un schéma fixe. En règle générale elle contient des indications sur la version HTML utilisée et les définitions correspondantes, une déclaration du type de document pour HTML 4.01 Strict suivant:
Lorsqu'on examine la déclaration du type de document, on connaîtra plusieurs cases, tous ayant un particulier sens.
- 1. Marqueur introduisant
- 2. Le nom de l'élément racine du document HTML
- 3. L'indication PUBLIC ou SYSTEM
- 4. Le FPI
- 5. L'URI de la DTD
Il y faut impérativement et le marqueur introduisant et le nom de l'élément
racine pour que le navigateur puisse correctement traiter la déclaration du
type de document.
S'il y a seulement ces deux éléments de la déclaration du type de document
présent, le navigateur commutera au mode standard, parce qu'il présume un
document suivant des spécifications les plus récent. Il est donc possible pour
un navigateur âgé de présenter correctement des versions HTML inconnues aussi,
à savoir avec les facultés y implémentées. En outre HTML5 est marqué comme ça
comme on n'a plus besoin des additionnelles informations pour décrire cette
variante de l'HTML.
La troisième case spécifie quelle information sur la version de l'HTML utilisée
sera transmis au navigateur Web.
Lorsque l'indication est mise au PUBLIC, il faut
donner l'FPI qu'on peut sectionner lui-même en quatre cases séparées par deux
barres obliques. La première case y spécifie lorsque le propriétaire de la
déclaration du type de document est immatriculé (en cas de +) ou non (en cas de
-). La deuxième case de l'FPI spécifie le propriéteur (il y est le consortium
World Wide Web) et la troisième le nom de la DTD utilisée en texte clair. La
quatrième case finalement spécifie la langue
utilisée dans la DTD.
Lorsque l'indication est par contre SYSTEM, l'FPI
est supprimé, et donner l'URI de la DTD dont le navigateur pourrait obtenir les
informations nécessaire est impératif.
L'URL de la DTD finalement sert à ce que le navigateur puisse télécharger les
correspondantes DTDs en cas de besoin pour mettre ses définitions à jour s'ils
furent changées. C'est pour cette raison que les éléments spécifiés ici sont
disponible sous l'adresse indiquée.
En cas de besoin vous avez l'option de télécharger ces définitions et les
offrir sur votre serveur. Vous seulement devez rajuster les liens à une façon
qu'ils pointent aux copies que vous avez mise à la disposition.
Cette case peut être supprimée lorsqu'une DTD PUBLIC
est donnée, sauf on utilise XHTML 1.1 que demande impérativement l'URI pour la
DTD.
Des déclarations du type de document connues
C'est selon cela que vous voulez atteindre avec votre document HTML, il y a plusieurs versions de l'HTML à choisir. Pour indiquer la version de l'HTML que vous utilisez, il faut donner une déclaration du type de document dans votre document. Il y a les types de document suivants à choisir:
Version de l'HTML | Déclaration du type de document | Mode de la représentation |
---|---|---|
HTML5 / XHTML5 ¹) | <!DOCTYPE html> | Mode standard |
XHTML 1.1 ²) | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
Mode standard |
XHTML Basic 1.1 ²) | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> |
Mode standard |
XHTML 1.0 Strict | <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
Mode standard |
XHTML 1.0 Transitional | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
Mode presque standard |
XHTML 1.0 Frameset | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
Mode presque standard |
HTML 4.01 Strict | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
Mode standard |
HTML 4.01 Transitional | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Mode presque standard |
HTML 4.01 Frameset | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> |
Mode presque standard |
Il y a en outre des additionnelles déclarations du type de document que sont encore valides, mais il serait mieux à les ne plus utiliser comme ils posent des divers problèmes. On les ne trouve guère que des vieilles pages Web.
Version de l'HTML | Déclaration du type de document | Mode de la représentation |
---|---|---|
XHTML Basic 1.0 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> |
Mode standard |
HTML 4.0 Strict | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> |
Mode standard |
HTML 4.0 Transitional | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
Mode presque standard |
HTML 4.0 Frameset | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd"> |
Mode presque standard |
HTML 3.2 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> | Mode quirks |
HTML 3.0 | <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 3.0//EN"> | Mode quirks |
HTML 2.0 | <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> | Mode quirks |
Il n'y a aucune déclaration du type de document pour HTML 1.0 comme cette version n'est plus favorisée explicitmenet et à ce temps-là donner le type de document n'était pas prévu. Lorsqu'il y a, contre toute attente, un document à trouver qu'est créé comme HTML 1.0 le navigateur commute au mode quirks en raison de la déclaration du type de document manquante pour le présenter.
Il est en règle générale recommandé à préférer la vaiante strict des versions HTML avec plus d'une variante (ils sont HTML 4.0, HTML 4.01 et XHTML 1.0), parce qu'une dissociation stricte a lieu entre la subdivision logique et la présentation d'un document tandis que ceci ne soit pas pour les variantes transitional et frameset. Ils existent pour des raison de compatibilité ou pour permettre logiquement subdiviser un document à plusieurs parts. Il néanmoins ne faut plus utiliser ces variantes.
en hautXHTML
Il y s'agit d'un dérivé de l'HTML que par contre d'HTML n'est pas dérivé du
SGML, mais du XML, cependant on pourrait considérer le dernier comme un
sous-ensemble du SGML. Mais XML n'a pas que pris de l'ampleur pour l'XHTML,
mais aussi pour une multitude des formats de fichiers. Des autres dérivés du
XML, ils sont par exemple SVG pour décrire des graphiques, WML comme un
standard pour des premiers navigateurs sur des téléphones portables, ou bien
aussi SMIL pour créer des scripts pour des présentations.
XHTML donc se présente en fin de compte à l'identique de l'HTML, mais il y a
plusieurs différences, étant le fait des singularités du XML, qu'il faut savoir
lorsqu'on veut produire des documents en XHTML valide.
La différence principale en tout cas consiste à ce qu'il faut antéposer un prologue XML d'un document dérivé du XML qui se présente comme suivant:
Il faut en outre faire attention que le document est transmis avec le bon type
de document pour faire le navigateur commuter au analyseur syntaxique XML au
lieu d'utiliser l'analyseur syntaxique basé sur SGML. Il y faut configurer le
serveur Web à une façon qu'il spécifie le type
application/xhtml+xml au lieu de
text/html si des documents XHTML sont transférés.
Ils sont notammend des navigateurs âgés y posant des problèmes, parce qu'ils ne
savent pas comment traiter ce type MIME et donc offrent le fichier transmis
pour téléchargement. Il y faut configurer le serveur transmettant à une façon
qu'il vérifie si l'autre côté permet
application/xhtml+xml, et sinon, transmettra le
document avec le type MIME text/html au lieu de cela.
Ce faisant le document pourrait donc être montré par des navigateurs âgés
aussi.