Question

Le "vieux" HTML / XHTML normes ont une DTD (Document Type Definition) défini pour eux:

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-stricte

Cette DTD spécifie les règles pour les éléments de nidification - « quels types d'éléments peuvent apparaître dans quels types d'éléments ». J'ai fait un schéma pour XHTML 1.0 ici (désolé, je n'ai plus cette ressource)

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

Donc il n'y a pas DTD, correct?

Suivi question: Y at-il une raison pour laquelle il n'y a pas DTD en HTML5? La DTD est une belle façon de définir les règles de nidification pour tous les différents types d'éléments. Pourquoi ne seraient-ils inclure une telle chose?

Mise à jour: Je trouve ceci: http://www.w3.org/TR/html5/dom.html#kinds-of-content je suppose, c'est le plus proche d'avoir une DTD.

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

Était-ce utile?

La solution

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

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

En outre, HTML5 a été conçu de telle sorte que l'écriture d'un DTD car il est impossible. Par exemple, il n'y a aucun moyen de SGML pour capturer la règle de HTML5 qui ne importe quel nom d'attribut qui commence par « Data- » et respecte certaines règles générales sont valides. En SGML, les attributs doivent être inscrits individuellement, donc une DTD devrait être infini.

Il est possible de concevoir DTD qui correspondent à HTML5 avec quelques omissions et peut-être avec quelques règles supplémentaires imposées, mais ils ne seront pas vraiment HTML5 DTDs. Mon expérience l'idée est pas très encourageant: trop de limites , trop délicate, et la DTD aurait besoin d'être si permissive que de nombreuses erreurs de syntaxe aller uncaught.

Autres conseils

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

Voir:

J'ai créé une DTD HTML5 pour une utilisation dans mes projets XML PHP. Il est pas beau, mais il fonctionne avec bien formé XHTML5 (qui est, HTML5 exprimée en XML).

Vous pouvez saisir de mon compte bitbucket ici:

https://bitbucket.org/kashbridge/dtd/overview

Amusez-vous!

Certains Marcus de sgmljs.net créé et analysé un DTD SGML pour HTML 5.1 et a commencé une fil dans la liste de diffusion XML-dEV pour examen et discussion . Les discussions autour de gravite des définitions d'entités jusqu'à présent.

  

Je viens de terminer mon analyse de la recommandation HTML 5.1 du W3C à    http://sgmljs.net/docs/html5.html (à partir d'un langage de balisage plutôt que   développement web PoV), et je publie ici pour examen dans le   sous forme d'une DTD SGML initiale pour l'analyse syntaxique HTML 5.1, avec une longue   analyse de texte.

     

[...]

     

Je suis conscient que WHATWG et le W3C ont depuis longtemps éloigné de SGML   (Et XML dans la plupart des travaux de spécification liés au Web), le traiter comme   technique de l'héritage et avec une attitude quelque peu présomptueux dans la   texte de spécification et ailleurs. Mais comme l'analyse de HTML5 de   montre la grammaire, ils ont abandonné l'utilisation essentiellement de toutes les méthodes formelles   alltogether (et cela se voit dans au moins deux défauts discutés dans le   analyse).

Rien d'officiel encore, mais peut-être cette initiative obtenir la traction, ou au moins trouver ses utilisateurs comme une ressource non officielle.

Je pense qu'ils ont fait disparaître les vieux DTDs, maintenant, nous venons de lancer des pages HTML avec: <!DOCTYPE HTML>

Peut-être que le W3C sortira avec une suite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top