Kai Lahmann: warum HTML pervers ist und XHTML nicht...

Beitrag lesen

hi

ich hab' mir mal überlegt, was passiert, wenn ein ganz sturer Parser auf eine gültige HTML- oder XHTML-Datei stößt. Da kommt bei HTML sicherlich als erstes die Frage, ob das eine oder andere Attribut nun Anführungszeichen haben muss, oder nicht. Wer ist eigentlich beim W3C auf den Bolzen gekommen, dass man die Dinger manchmal weglassen kann? Imho wird's dadruch wahnsinnig chaotisch...
Noch schöner sind die optionalen oder ganz fehlenden End-Tags - woher soll der Parser (der ja noch nichts von der Bedeutung der Tags weiß!) wissen, ob ein nicht vorhandenes Endtag nun ein Fehler ist oder so ok..? Sicher kann er in der DTD nachsehen, aber dafür muss er erstmal die komplette Dateio gelesen haben - es könnte ja sein, dass das Tag (z.B. ein <li>) doch noch irgendwo geschlossen wird... Somit kann also ein stur nach HTML arbeitender Browser auch erst etwas anzeigen, wenn alles geladen ist - vorher weiß er ja nichtnur nicht, ob die Datei gültigt, noch wo nun das eine oder andere Tag nun zu Ende ist. Insbesondere bei einem <li> stellt sich dann auch noch auf der Darstellungs-Ebene die Frage, wo man das Ding nun als "zu Ende" annehmen kann (oder muss).
Bei XHTML ist dagegen eindeutig geregelt, wo ein Tag zu Ende ist - wenn es mit /> endet sofort, sonst eben erst, wenn ein </li> kommt (um mal bei dem Beispiel zu bleiben.
Was ich damit sagen will, ist, dass HTML nicht wirklich logisch ist, es ist eine Aneinanderreihung von Ausnahmen von Ausnahmen, die man kaum verstehen kann, soetwas muss man als Browser eigentlich falsch interpretieren.

Wie haltet ihr das, benutzt ihr alle "normales" HTML oder wird lieber in XHTML geschrieben?
Ich persönlcih versuch' immer XHTML1.1 zu schreiben, wenn das - warum auch immer - nicht geht zumindest innerhalb der XHTML-Syntax zu bleiben.

Grüße aus Bleckede

Kai