Domanda

standard

Il "vecchio" HTML / XHTML hanno un (Document Type Definition) DTD definito per loro:

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

Questo DTD specificano le regole per gli elementi di nidificazione - "quali tipi di elementi possono essere visualizzati in quali tipi di elementi". Ho fatto un diagramma per XHTML 1.0 qui (mi dispiace, non ho più quella risorsa)

desidero aggiornare tale diagramma con una nuova versione che comprende anche i nuovi elementi HTML5. Tuttavia, non sembra essere un HTML5 DTD. Sembra che le regole di nidificazione sono definite dai vari modelli di contenuto che sono definite in HTML5.

Quindi non c'è DTD, giusto?

Follow-up domanda: C'è un motivo per cui non v'è alcun DTD in HTML5? Il DTD è un tale metodo piacevole di definire le regole estraibili per tutti i diversi tipi di elementi. Perché non dovrebbero includere una cosa del genere?

Aggiornamento: Ho trovato questo: http://www.w3.org/TR/html5/dom.html#kinds-of-content credo, questo è il più vicino ad avere un DTD.

Aggiornamento: Lo Studio Team visivo fatto un XML Schema per XHTML5. Credo che questo risponda alla mia domanda: http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for -Visual-studio-2008-e-video-web-developer.aspx

È stato utile?

Soluzione

Non c'è HTML5 DTD. L'HTML5 RC esplicitamente dice quando si parla di XHTML serializzazione, e questo vale in modo chiaro alla serializzazione HTML.

DTD sono stati considerati dai progettisti di HTML5 come troppo limitato nella potenza espressiva, e HTML5 validatori (fondamentalmente la modalità HTML5 di http: //validator.nu e la sua copia a http://validator.w3.org/nu/ ) utilizzano schemi e controlli ad hoc, non DTD a base di convalida.

Inoltre, HTML5 è stato progettato in modo che crei una DTD perché è impossibile. Per esempio, non v'è alcun modo SGML per catturare la regola HTML5 che qualsiasi nome attributo che inizia con “data-” e conforme a certe regole generali è valido. In SGML, gli attributi devono essere elencati singolarmente, in modo da un DTD avrebbe bisogno di essere infinito.

E 'possibile progettare DTD che corrispondono a HTML5 con alcune omissioni e forse con alcune regole in più imposto, ma non sarà davvero HTML5 DTD. Il mio esperimento con l'idea non è molto incoraggiante: troppi limiti anche difficile, e la DTD avrebbe bisogno di essere così permissiva che molti errori di sintassi sarebbero andati non rilevata.

Altri suggerimenti

Una corretta. Non v'è alcun DTD. Tuttavia, HTML5 documenti dovrebbero iniziare con <!DOCTYPE html> Quindi c'è un DOCTYPE, ma nessun DTD.

Si veda:

Ho creato un HTML5 DTD per l'uso nei miei progetti XML di PHP. Non è bello, ma funziona con ben formato XHTML5 (che è, HTML5 espressa come XML).

Si può afferrare dal mio conto bitbucket qui:

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

Enjoy!

Alcuni Marcus da sgmljs.net creato e analizzato un SGML DTD HTML 5.1 per e ha iniziato una thread nel XML-dEV mailing list per la revisione e la discussione . Gira la discussione intorno a definizioni di entità finora.

  

Ho appena completato la mia analisi di HTML 5.1 raccomandazione del W3C presso    http://sgmljs.net/docs/html5.html (da un linguaggio di markup, piuttosto che   sviluppo web PoV), e sto pubblicando qui per la revisione nel   sotto forma di un primo SGML DTD HTML 5.1 per l'analisi, insieme a un lungo   l'analisi del testo.

     

[...]

     

Sono consapevole che WHATWG e W3C sono da tempo allontanati da SGML   (E XML nella maggior parte dei web-lavoro correlato specifica), trattandolo come un   tecnica legacy e con un atteggiamento un po 'presuntuosa nel   il testo specifica e altrove. Ma, come l'analisi di HTML5 di   spettacoli grammatica, hanno sostanzialmente abbandonato l'uso di qualsiasi metodi formali   alltogether (e si vede in almeno due difetti discussi nel   analisi).

Niente ancora ufficiale ma forse questa iniziativa otterrà la trazione, o almeno trovare i suoi utenti come una risorsa non ufficiale.

Penso che abbiano fatto via con le vecchie DTD, ora cominciamo appena pagine HTML con: <!DOCTYPE HTML>

Forse il W3C uscirà con uno alla fine.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top