2016-05-03 24 views
2

Welcher Doctype sollte für die XML-Serialisierung von HTML5 angegeben werden?Was ist der Doctype für XHTML5 (XML-Serialisierung von HTML5)?

Dateierweiterung als HTML beibehalten Kann ich dem Browser mitteilen, dass der Inhalt XHTML5 ist?

+0

Das klingt wie ein XY-Problem: Sie haben ein Problem, und Sie versuchen, es zu lösen, indem Sie einige der Dateien als XHTML anbieten. Neue Probleme aufwerfen. Also, was ist das ursprüngliche Problem, das Sie versuchen zu lösen? Schauen wir uns das zuerst an. –

Antwort

0

Welcher Doctype sollte für die XML-Serialisierung von HTML5 angegeben werden?

Von the docs:

XML-Dokumente eine DOCTYPE falls gewünscht enthalten können, aber dies ist nicht erforderlich, die diese Spezifikation entsprechen. Diese Spezifikation definiert weder eine öffentliche oder System-ID noch eine formale DTD.

Es gibt also keine Standard-DTD, daher sollten Sie keinen Doctype angeben (es sei denn, Sie schreiben zuerst eine DTD).


Keeping Dateierweiterung als HTML kann ich sagen, den Browser, der Inhalt XHTML5 ist?

Dateierweiterungen sind im WWW irrelevant. Die Content-Type-HTTP-Antwortheader sollten application/xhtml+xml sein.

+0

Beim Öffnen von Dateien aus dem lokalen Dateisystem macht die Erweiterung einen Unterschied. Wichtiger ist, dass ich aufgrund der Validierungsprobleme diese Frage gestellt habe. Es gibt Validierungsfehler aufgrund z.B. Leere Elemente mit separaten close-Tags, die ansonsten in xml gültig sind – Nitesh

+0

"Beim Öffnen von Dateien aus dem lokalen Dateisystem macht die Erweiterung einen Unterschied." - Das ist eine ungewöhnliche Verwendung für XHTML, da Sie es in der Frage nicht erwähnt haben vernünftig anzunehmen, dass Sie über das WWW sprachen. Software verwendet Dateierweiterungen, um den Dateityp auf einem lokalen System zu ermitteln, also geben Sie ihnen nicht .HTML Dateierweiterungen. – Quentin

+0

"Es gibt Validierungsfehler aufgrund von z. B. leeren Elementen, die separate close-Tags haben, die sonst in xml gültig sind" - Das ist etwas, was Sie nicht erwähnt haben.Sie müssen einen XHTML-fähigen Validator finden. Das könnte ein Standard-XML-Validator sein, wenn Sie eine DTD für XHTML geschrieben haben. Es gibt keine Standard-DTD für XHTML. – Quentin

3

Der "Doctype" von XHTML5 ist <!DOCTYPE html>.

Genau genommen hat HTML5 keinen Doctype. Es hat nur einen "schau mich an, ich bin ein HTML5-Dokument" -Marker, der zufällig einer Doctype-Deklaration ähnelt, um den Standardmodus in Webbrowsern auszulösen. Da XHTML5, wie Sie sagen, nichts anderes als eine XML-Serialisierung von HTML5 ist, ist sein "Doctype" identisch mit dem von HTML5.

Wenn Sie sich über die MIME-Typ fragen, dann ist das application/xhtml + xml, wie üblich für ein XHTML-Dokument. Der Doctype hat keinerlei Einfluss darauf, ob ein Dokument als HTML-Tagsüppchen oder als XML geliefert wird.

+0

Aufgrund der Validierungsprobleme habe ich diese Frage gestellt. Es gibt Validierungsfehler aufgrund z.B. Leere Elemente haben separate close-Tags, die ansonsten in xml sind – Nitesh

+0

Und einige HTML-Dateien können html5, aber andere XHtml5, so kann ich nicht nur Mime-Typen angeben. Ist dann die xhtml-Erweiterung die beste Option? – Nitesh

+2

@Nitesh: Ihr erster Fehler besteht darin, Ihre Website als Teil HTML und Teil XHTML zu dienen. Niemand macht das jemals. Niemand. Wenn Sie das tun, weil Sie sich nicht entscheiden können, welchen Geschmack Sie haben wollen, entscheide ich für Sie: HTML. – BoltClock

0

Jede Verwendung von XHTML sollte bedeuten, dass es sich jetzt um ein XML-Dokument handelt. Das ist die einzige Voraussetzung für XHTML, obwohl viele Webseiten XHTML als "text/html" Mime-Type (wie vom Webserver eingestellt) geliefert haben, obwohl es "application/xhtml + xml" hätte sein sollen. Daher sollte Ihr Webserver so konfiguriert sein, dass er XHTML als XML liefert. Sobald es als XML-Dokumenttyp geliefert wird, kann Ihre Webseite den Webbrowser nicht analysieren, wenn das XML nicht korrekt erstellt und validiert wurde.