73 votes

Où est le HTML5 Définition de Type de Document?

Le "vieux" HTML/XHTML normes ont une DTD (Définition de Type de Document) définies:

HTML 4.01 http://www.w3.org/TR/html401/sgml/dtd.html
XHTML 1.0 http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict

Cette Dtd préciser les règles pour la nidification des éléments - "quels types d'éléments peuvent apparaître dans quels types d'éléments." J'ai fait un schéma pour le XHTML 1.0 ici (désolé, je n'ai plus de ressources)

Je voudrais mettre à jour ce schéma avec une nouvelle version qui inclut également les nouveaux éléments HTML5. Cependant, il ne semble pas être un HTML5 DTD. Il semble que l'imbrication des règles sont définies par les différents modèles de contenu qui sont définis dans HTML5.

Donc, il n'y a pas de DTD, correct?

Question de suivi: Est-il une raison pourquoi il n'y a pas de DTD en HTML5? La DTD est une belle méthode de définition de l'imbrication des règles pour tous les différents types d'éléments. Pourquoi n'auraient-ils pas inclure une telle chose?

Mise à jour: j'ai trouvé ceci: http://www.w3.org/TR/html5/content-models.html#kinds-of-content je suppose, c'est le plus proche au fait d'avoir une DTD.

Mise à jour: Visual Studio Team a fait un Schéma XML pour le XHTML5. Je suppose que ça répond à ma question: http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for-visual-studio-2008-and-visual-web-developer.aspx

68voto

Jukka K. Korpela Points 71599

Il n'y a pas de HTML5 DTD. Le HTML5 RC explicitement dit cela lors de la discussion XHTML sérialisation, et cela s'applique clairement à HTML sérialisation ainsi.

Dtd ont été considérés par les concepteurs de HTML5 comme trop limité en puissance expressive, et HTML5 validateurs (en gros le mode HTML5 de http://validator.nu et sa copie à http://validator.w3.org) utiliser des schémas et ad hoc de contrôles, pas de DTD-validation.

En outre, HTML5 a été conçu de telle sorte que la rédaction d'une DTD, c'est impossible. Par exemple, il n'y a pas de SGML moyen de capturer le HTML5 règle que n'importe quel attribut nom qui commence par "données" et se conforme à certaines règles générales est valide. En SGML, les attributs doivent être listés individuellement, c'est une DTD aurait besoin d'être infinie.

Il est possible de concevoir des Dtd qui correspondent à HTML5 avec quelques omissions et peut-être avec quelques règles supplémentaires imposées, mais elles ne vont pas vraiment être HTML5 Dtd. Mon expérience avec l'idée n'est pas très encourageant: trop de limitations, trop difficile, et la DTD aurait besoin de l'être permissif que de nombreuses erreurs de syntaxe irait non interceptée.

24voto

Adam Points 14766

Correct. Il n'y a pas de DTD. Cependant, HTML5 documents devraient commencer avec <!DOCTYPE html> Donc, il y a un DOCTYPE, mais pas de DTD.

Voir:

0voto

Blake Points 486

Je pense qu'ils ont fait disparaître le vieux Dtd, maintenant, on vient juste de commencer des pages HTML avec: <!DOCTYPE HTML>

Peut-être que le W3C va sortir avec l'un par la suite.

Prograide.com

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.

Powered by:

X