Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>HTML5 Doctype mit HTML 4 Kompatibilität

HTML5 Doctype mit HTML 4 Kompatibilität

dom_beta11.02.1320:24
Hallo,

wie ging noch mal der HTML5 Doctype mit HTML 4?

das war irgendwie


<!DOCTYPE HTML> PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

oder ähnlich.

Danke sehr.
„...“
0

Kommentare

_mäuschen
_mäuschen12.02.1300:19
3.2.1.1 Obsolete But Permitted DOCTYPEs
http://dev.w3.org/html5/html-author/#doctype-declaration
0
breaker
breaker12.02.1308:54
Was willst du denn damit erreichen?
0
roca12312.02.1309:45


entweder du haste eine HTML5 Seite:
<!DOCTYPE html>

oder eben eine HTML4 Seite:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Warum einer HTML4 Seite einen HTML5 DOCTYPE geben?
… funktionieren tut das aber schon.
0
sierkb12.02.1310:26
<!DOCTYPE html>

W3C: HTML5: 8.1.1 The DOCTYPE
W3C: HTML5 differences from HTML4: 2.2 The Doctype

Jens Meiert: Übersicht aller HTML-Elemente - Eine kontinuierlich aktualisierte Liste aller HTML- und XHTML-Elemente

roca:

Warum schlägst Du bzgl. HTML 4 so selbstverständlich den Transitional-Doctype vor und nicht den Strict-Doctype? Welche veralteten HTML-Elemente willst Du verwenden oder setzt Du still voraus, um NICHT den Strict-Doctype verwenden zu können, sondern um den Transitional-Doctype verwenden zu MÜSSEN?
Beachte: Nur im Strict-Modus [url=]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

rendert der Parser der Web-Browser am Akkuratesten und Saubersten, im Transitional-Modus kann es sehr schnell sein, dass der Browser rät bzw. laxer berechnet (z.B. Ränder und Abstände, z.B. innerhalb von Tabellen) und seine Fehlerkorrektur öfters machen lässt statt wirklich zu wissen und zügig durchzuparsen (deswegen wird ein Strict-Dokument i.d.R. auch etwas schneller gerendert (ist zwar kaum messbar, aber es geht ums Prinzip), weil der Browser am Anfang damit gleich ein Zeichen bekommt, sie ggf. zügiger durchzuparsen aufgrund abgenommener Wahrscheinlichkeit, ggf. raten und interpolieren zu müssen).
Deshalb: wann immer möglich bzgl. HTML 4 und XHTML 1.0: strict-Modus bzw. Strict-Doctype wählen. DAS ist der mit Vorzug und im Zweifel zu wählende Standard-Doctype. Nicht der eigentlich nur übergangsweise (man beachte dabei, wann HTML 4 rauskam, sodass ein Übergang geschaffen werden musste zwischen HTML 3 und HTML 4) gedachte und eine Brücke zwischen dem alten HTML 3 und HTML 4 schlagende HTML 4-Transitional-Doctype.

XHTML 1.1 z.B. kennt ausschließlich nur den Strict-Doctype, da gibt es gar keinen anderen. Bzgl. HTML5 bzw. XHTML5 verhält es sich im Prinzip genauso, deshalb gibt es da auch keine Wahl mehr zwischen Strict und Transitional Doctype, auch da ist alles immer als Strict zu verstehen, es gibt da keine Elemente mehr, die auf der Abschussliste stehen und deren Gebrauch deshalb missbilligt (deprecated) ist, so wie das der Transitional-Doctype von HTML4 noch vorsah (Transitional = übergangsweise, vorübergehend. Im Hinblick auf das zu bevorzugende Strict).
0
_mäuschen
_mäuschen12.02.1312:59
obsolete {adj}
altmodisch
hinfällig [nicht mehr aktuell]
überholt [nicht mehr benützt, altmodisch]
0
sierkb12.02.1313:54
wie ging noch mal der HTML5 Doctype mit HTML 4?

Gar nicht. Die Frage ist falsch gestellt.
Von der Wahl Deiner Elemente und der verwendeten Syntax hängt es ab, welchen Doctype Du verwwendest bzw. an den Anfang stellst. Beziehungsweise umgekehrt: der an den Anfang eines Dokuments gestellte Doctype gibt vor, welche Elemente im Folgenden zulässig sind und welcher Syntax folgend geparst werden soll.
Entweder Dein Dokument verwendet einen HTML5 Doctype (und damit dann auch folgend in HTML5 definierte und zulässige Elemente nebst Syntax), oder Dein Dokument verwendet einen HTML 4 Doctype (und damit dann auch folgend in HTML 4 definierte und zulässige Elemente nebst Syntax). Ein Mix von sich unterscheidendem Doctype und HTML-Elementen, die nicht zusammengehören, wie Du ihn durch Deine Formulierung suggerierst (oder ich habe Dich falsch verstanden), ist im Zusammenhang mit HTML 4 weder vorgesehen noch zulässig. Unter XML, echtem XHTML und HTML5 geht es dennoch unter Angabe der betreffenden Namespaces für das betreffende oberste Element, da die ersten beiden vom XML-Parser verarbeitet werden, der es im Gegensatz zum SGML-Parser (HTML 4 ist eine SGML-Sprache) erlaubt, verschiedene XML-Sprachen miteinander zu mischen und zu kombinieren (ursprüngl. eine Domäne von XHMTL).

HTML5 setzt einen eigenen, neu geschriebenen Parser voraus, der so einen Mischmasch von HTML5/XHTML5 und verschiedenen XML-Sprachen ebenfalls erlaubt und welcher in der Spezifikation erstmalig als API festgeschrieben ist (ein Unikum bisher, das gab's bisher noch nicht, dass sogar der Parser als API bzw. dessen erwünschtes Verhalten in einer HTML-Spezifikation für alle Implementatoren verbindlich und unmissverständlich festgeschrieben ist) und somit browser- und herstellerübergreifend einheitliches Verhalten der HTML5-Parser der verschiedenen Browser erlaubt und sicherstellt. Schon allein deshalb ist HTML5 so ein großer Gewinn für alle und drängt sich wegen dieses zentral für alle Browser-Hersteller verbindlich festgeschriebenen Parser-Verhaltens deshalb zur bevorzugten Verwendung förmlich auf.
0
dom_beta13.02.1300:43
Hallo,

ich meine mal bei einer Webseite einen Doctype gesehen zu haben, der zwar HTML5 angibt, aber wenn es von einem Browser aufgerufen wird, der kein HTML5 kann, daß er dann die Seite als HTML 4.01 Strict rendern soll.

Gibt es so was nicht? So einen Fallback?
„...“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.