Frage

Die "alten" HTML / XHTML-Standards haben eine DTD (Document Type Definition) für sie definiert:

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

Diese DTDs die Regeln für die Verschachtelung Elemente angeben - „welche Arten von Elementen, in denen Arten von Elementen erscheinen“. Ich habe ein Diagramm für XHTML 1.0 hier (sorry, ich nicht mehr, dass die Ressource)

Ich mag das Diagramm aktualisieren, mit einer neuen Version, die auch Elemente der neuen HTML5 enthält. Allerdings scheint es keine HTML5-DTD zu sein. Es scheint, dass die Verschachtelung Regeln durch die verschiedenen Content-Modelle definiert sind, die in HTML5 definiert sind.

So gibt es keine DTD, richtig?

Follow-up-Frage: Gibt es einen Grund, warum es keine DTD in HTML5 ist? Die DTD ist so ein schönes Verfahren der Verschachtelung Regeln für alle die verschiedenen Arten von Elementen zu definieren. Warum würden sie nicht enthalten so etwas tun?

Update: Ich fand diese: http://www.w3.org/TR/html5/dom.html#kinds-of-content ich denke, das ist in der Nähe einer DTD zu haben.

Update: Das Visual Studio Team machte eine XML-Schema für XHTML5. Ich denke, das beantwortet meine Frage: http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for -Visual-Studio-2008-und-visuellen-web-developer.aspx

War es hilfreich?

Lösung

Es gibt keinen HTML5-DTD. Der HTML5 RC explizit sagt diese bei der Diskussion XHTML Serialisierung, und dies gilt eindeutig für HTML-Serialisierung als auch.

DTDs wird von den Designern von HTML5 betrachtet als auch in Ausdruckskraft begrenzt und HTML5 Validatoren (im Grunde der HTML5-Modus von http: //validator.nu und seine Kopie an http://validator.w3.org/nu/ ) Verwendung Schemata und ad-hoc-Kontrollen, nicht-DTD basierte Validierung.

Darüber hinaus hat HTML5 entwickelt worden, so dass eine DTD für das Schreiben unmöglich ist. Zum Beispiel gibt es keinen SGML Weg, um die HTML5 Regel, dass jeder Attributnamen zu erfassen, dass beginnt mit „Daten-“ und erfüllen mit bestimmten allgemeinen Regeln gültig ist. In SGML, müssen Attribute einzeln aufgeführt werden, so müßte eine DTD unendlich sein.

Es ist möglich, DTDs zu gestalten, dass entspricht HTML5 mit einigen Auslassungen und vielleicht mit einigen zusätzlichen Regeln auferlegt, aber sie werden nicht wirklich HTML5 DTDs sein. Mein Experiment mit der Idee nicht sehr ermutigend: zu viele Einschränkungen auch heikel, und die DTD müßten so permissive sein, dass viele Syntaxfehler abgefangene gehen würden.

Andere Tipps

Richtig. Es gibt keine DTD. Allerdings sollte HTML5-Dokumente mit <!DOCTYPE html> starten So gibt es eine DOCTYPE, aber keine DTD.

Siehe auch:

Ich habe einen HTML5-DTD für den Einsatz in meinen PHP XML-Projekten erstellt. Es ist nicht schön, aber es funktioniert mit gut ausgebildeten XHTML5 (das heißt, HTML5 als XML ausgedrückt).

Sie können es von meinem bitbucket Konto greifen hier:

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

Genießen Sie!

Gewisse Marcus von sgmljs.net erstellt und analysiert einer SGML-DTD für HTML 5.1 und Thread in der XML-dEV-Mailingliste zur Überprüfung und Diskussion sehen . Die Diskussion dreht sich um die Definitionen von Instanzen so weit.

  

Ich habe gerade abgeschlossen meine Analyse der W3C HTML 5.1 Empfehlung an    http://sgmljs.net/docs/html5.html (aus einer Markup-Sprache statt   Web-Entwicklung PoV), und ich bin zu veröffentlichen es hier für die Überprüfung in der   Bildung eines ersten SGML-DTD für das Parsen von HTML 5.1, zusammen mit einem langen   Analyse Text.

     

[...]

     

Ich bin mir bewusst, dass WHATWG und W3C sind seit langem von SGML weggezogen   (Und XML in den meisten Web-bezogene Spezifikation der Arbeit), die Behandlung als ein   Legacy-Technik und mit einer etwas anmaßend Haltung in der   Ausschreibungstext und anderswo. Aber wie die Analyse von HTML5 ist   Grammatik zeigt, sie haben im Wesentlichen Verwendung von formalen Methoden aufgegeben   alltogether (und es zeigt, in mindestens zwei Fehlstellen in der diskutierten   Analyse).

Im Moment offiziell noch nicht, aber vielleicht wird diese Initiative Traktion bekommen, oder zumindest seine Nutzer als inoffizielle Ressource finden.

Ich denke, sie mit dem alten DTDs taten weg, jetzt haben wir nur HTML-Seiten beginnen mit: <!DOCTYPE HTML>

Vielleicht wird der W3C kommt mit einer schließlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top