Grüße dich, suit,
... - in HTML hingegen sind die DTDs so locker gehalten, dass auch implizites schließen durch den Parser ausreicht (was in der Praxis aber kaum funktioniert, weil es keinen wirklich SGML-fähigen Browser gibt).
Demnach dürfte so gut wie keine Webseite in HTML funktionieren. Man bedenke nur die ganze meta- oder br-Elemente. Die funktionieren aber auch nie ;)
Und anstatt einen XML- oder SGML-fähigen Browser zu machen, wurde mit HTML5 einfach beschlossen, dass man sich eigene Fehlerkorrekturroutinen aus den Fingern saugt umd das Fehlerkorrekturverhalten zu standardisieren. Der Haken: Standards gab es zuvor auch (eben SGML und danach, weil zu kompliziert eben XML als Teilmenge davon) - gehalten hat sich keiner dran.
XML(-fähige)-Parser gabs vorher auch schon (und wurden und werden auch verwendet). Bessere Webseiten gabs deswegen auch nicht [1].
Das Fehlerkorrekturverhalten in HTML5 wurde, wie du sagst, nicht aus irgendwelchen Fingern gezogen (nicht primär) sondern fasst die bereits bestehenden Algorithmen der verschiedenen Browser zusammen.
Dass es die auch heute noch gibt ist den Autoren von HTML 4.0 anzulasten. Die hätten ja auf bessere Konformität zu SGML hinarbeiten können.
Oder die XHTML WG. Wenn man sich schon die Mühe macht, eine Delta-Spezifikation zu erstellen, warum hat man nicht die DTDs von HTML 4.01 angepasst, sodass darin X(HT)ML-Konstrukte erlaubt werden? Etwa das tbody-Problem, das ja durch HTML 4 erst eingeführt wurde.
Was die Fehlerkorrekturvorgaben von HTML5 nun daran ändern sollen, ist mir immer noch schleierhaft :)
An den HTML5-Parser halten sich die Browserhersteller: Erst Firefox, dann Chrome, dann IE und jetzt auch Opera.
Gruß, der gerade schreiblustige Daniel
[1] rebell.at hat momentan 14 Fehler. Ein XML-Parser dürfte die Seite garnicht darstellen. Tatsächlich ignorieren selbst XML-fähige Browser