molily: Ist HTML 5 gut oder schlecht?

Beitrag lesen

Nagle mich nicht fest, ich arbeite relativ wenig mit XML. In einfachen Worten stimmt es aber wirklich, dass XML in der Abteilung Fehlerbehandlung nur sagt: Wenn Fehler, dann Abbruch.

Die allgemeine Regel bei HTML5 ist im Vergleich dazu: Wenn Fehler, dann ignoriere den Token und mache weiter.

Für XML gibt es übrigens einen Entwurf für Fehlerbehandlung in diesem Sinne (aus der HTML5-Ecke natürlich): XML5

So habe ich das noch gar nicht gesehen. Nun frage ich mich aber doch, wie groß der Unterschied in der Komplexität zwischen einem XML- und HTML5-Parser ist.

XML ist sehr komplex und modular, das ist mehr ein System als eine konkrete Parserspezifikation. Es gibt sehr schnelle und performante Minimal-Implementierungen, die nur die wichtigsten Fälle abdecken und nicht alle XML-Features implementieren.

Wenn man einen XML-Parser entwickeln will, der die Komplexität von Webseiten handhaben kann und die dafür nötigen Techniken aus dem XML-Universum unterstützt, so ist man sicher bei der Komplexität des HTML5-Parsers angekommen oder sogar darüber hinaus geschossen.

Aus dem Dilemma hatte man sich bei XHTML2 herausgestohlen, indem man die Komplexität verleugnet hat und Features von HTML kurzerhand abgeschaltet hatte, wie z.B. das Modifizieren des Dokuments durch JavaScript während des Parsens. Das war ein Grund, warum XHTML2 nicht in der Realität angekommen ist. Nicht dass es an sich keine guten Gründe dafür gibt, solche Features, die die Komplexität und Anfälligkeit des Parsers unglaublich erhöhen, abzuschalten.

Mir ist nicht bekannt, dass von XHTML5 abgeraten wird.
Es gibt aber z.B. keine DTD und vor allem kein Prüfschema für XHTML5, so dass XHTML5 weniger streng auf Fehler geprüft werden kann als HTML5.

HTML5 kann m.W. genauso streng auf Fehler geprüft werden. Die HTML5-Spezifikation definiert zwar kein maschinenlesbares Schema, aber der Validator.nu-Validator definiert durchaus maschinenlesbare Schemata, gegen die sowohl HTML5 als auch XHTML5 geprüft wird. Bei XHTML5 kommt nur die Verarbeitung als XML hinzu – und die wird implizit durch den Einsatz eines XML-Parsers geprüft.

Mathias