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
The WHATWG sagt:
In der XML-Syntax, jede Doctype Deklaration verwendet werden kann, oder es kann ganz weggelassen werden.
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.
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.
Aber die Frage ist nicht über Quirks-Modus. Es geht nicht einmal um HTML. –
@MrLister Aber die Antwort sagt, dass der DOCTYPE sicher weggelassen werden kann. Verknüpft Quellen nicht miteinander. – SoniEx2
@ 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. –