Hallo,
laut Selfhtml gibt es nur eine Doctypeangabe für normale HTML Seiten,
wenn man die Strict-Variante ablehnt.
Jain. In welcher Variante bzw. mit den Regeln welcher Variante du ein Dokument schreiben möchtest, bestimmst du über die Dokumenttypangabe.
Die Dokumenttypangaben der HTML-Varianten kannst du mit und ohne URI-Angabe (sog. System-Identifier) einfügen.
Dabei ist es laut Selfhtml egal ob mit oder ohne URL-Angabe der Dokumenttyp-Definition (DTD), mit der Bemerkung, die meissten Browser würden eh diese URL eh nicht beachten.
Richtig. Ein Browser kennt keine HTML-Strict- oder -Transitional-Dokumente. Er kennt nur HTML-Dokumente. Daher ist die Angabe des Dokumenttyps erstmal ohne Bedeutung.
Es stimmt auch, dass die Browser die URI-Angabe nicht auswerten, in dem Sinn, dass die DTD geladen und verarbeitet wird.
Je nachdem was dem folgende Code vorgestzt wird, entsteht etwas völlig anderes.
Ja, und da spielt folgendes durchaus eine Rolle:
Gut jetzt habe ich natürlich etwas über den Quirksmode gelesen, bringt mich aber auch nicht wirklich weiter. Ich möchte doch nur eine Möglichkeit haben, ohne die Strict-Restrictionen eine HTML Datei zu erzeugen die ohne diesen Quirksmode läuft.
Vor langer Zeit hat man sich dazu entschlossen, anhand der Beschaffenheit der Dokumenttypangabe verschiedene Verarbeitungsmodi im Browser zu aktivieren.
Transitional-Doctypes mit URI-Angabe aktivieren dabei einen Modus, der zwar standardnah ist, aber ein paar Ausgewählte Fehler dennoch erlaubt.
Ohne URI-Angabe verwenden die Browser ihren Fehlermodus (Quirksmode).
Wenn du dich mehr über die verschiedenen Verarbeitungsmodi der Browser informieren möchtest, empfehle ich dir den Artikel „Der DOCTYPE-Switch und seine Auswirkungen“.
Genauer gesagt läuft bei diesem Beispiel die Seite nur sauber ohne die DTD-URL und das kann es ja nicht wirklich sein. Wäre mir zu unzuverlässig diese Methode.
Richtig, denn die Quirksmodi sind unzuverlässig und können keine Browserweit ähnliche Verabreitung garantieren.
Was mache ich da?
Arbeite immer in einem standardkonformen Modus. Versuche, deine Ziele mit Hilfe der definierten Standards zu erreichen.
Gruß.