2016-07-17 87 views
1

Ich bin creating a language, das in XML übersetzt wird und DOCTYPE/DTD nicht unterstützt. Kann ich XHTML5 verwenden, ohne <!DOCTYPE html> angeben zu müssen, oder muss ich DOCTYPE/DTD implementieren? Ich möchte lieber nicht, hauptsächlich um die Sprachkomplexität zu vermeiden.Erfordert XHTML5 eine DOCTYPE/DTD?

Antwort

1

The WHATWG sagt:

In der XML-Syntax, jede Doctype Deklaration verwendet werden kann, oder es kann ganz weggelassen werden.

and also:

Die <!DOCTYPE html> Definition ist optional, aber (...)

Und die W3C sagt:

[Die Document Type Declaration] kann optional in der XHTML-Syntax verwendet werden, aber (...)

Wir können also davon ausgehen, dass die DOCTYPE-Deklaration optional ist.
Außerdem zeigt ein schneller und schmutziger Test, dass in den neuesten Browsern kein Unterschied in der Behandlung von Dateien mit oder ohne Doctype-Deklaration zu erkennen ist. Solange der Dateityp .xml oder .xhtml ist.

2

XHTML5 muss mit einem XML-Medientyp wie application/xhtml+xml geliefert werden. Ein Browser wird solche Ressourcen immer im Modus "Standards/keine Quirks" verarbeiten, so dass <!DOCTYPE html> beim Start nicht wirksam ist und sicher weggelassen werden kann.

+0

Aber die Frage ist nicht über Quirks-Modus. Es geht nicht einmal um HTML. –

+0

@MrLister Aber die Antwort sagt, dass der DOCTYPE sicher weggelassen werden kann. Verknüpft Quellen nicht miteinander. – SoniEx2

+0

@ SoniEx2 Ohne eine DOCTYPE-Deklaration ist eine Datei nicht XHTML5. Es ist eine nicht versionierte Art von XHTML. Wenn also Ihre Frage lautet "kann ich die Doctype-Deklaration aus einer XHTML-Datei sicher weglassen", lautet die Antwort ja. Wenn Ihre Frage andererseits lautet: "Wird es immer noch XHTML5 sein, wenn ich die Doctype-Deklaration weglasse", ist die Antwort nein. –