Zum Hauptinhalt Zur Navigation

HTML5: Neuer Parser für Webkit

Die Entwickler der freien Browser-Engine Webkit haben in den letzten Monaten einen neuen Parser geschrieben und in Webkit integriert. Dieser soll vor allem die Kompatibilität mit anderen Browsern verbessern.
/ Jens Ihlenfeld
22 Kommentare News folgen (öffnet im neuen Fenster)

Der neue Webkit-Parser basiert auf dem mit HTML5 spezifizierten Parser-Algorithmus, denn mit der neuen HTML-Generation soll auch festgelegt werden, wie ein Browser HTML-Dokumente zu verarbeiten hat. Bislang geht jeder Browser auf seine eigene Art und Weise mit ungültigem HTML um, was der Interoperabilität nicht sehr zuträglich ist.

Das soll sich mit HTML5 ändern. Dazu wird erstmals ein kompletter Parser-Algorithmus festgelegt(öffnet im neuen Fenster) , um für eine bessere Interoperabilität zwischen verschiedenen Browsern zu sorgen. Alle Browser, die den mit HTML5 spezifizierten Parser implementieren, sollen HTML in gleicher Art und Weise verarbeiten, so dass Webseiten in allen Browsern gleich aussehen, auch wenn die Dokumente ungültiges HTML enthalten.

Zudem soll der neue Parser die Kompatibilität mit real existierenden Webseiten verbessern, denn der Spezifikation des Algorithmus gingen umfangreiche Analysen voraus, um den Algorithmus möglichst gut auszubalancieren. Daneben erlaubt es der Ansatz, SVG und MathML in HTML einzubetten. So wird eine Vektorgrafik in SVG einfach mit einem ᐸsvgᐳ-tag eingeleitet.

Wer seine Webseiten bislang auf die Eigenheiten von Webkit optimiert hat, wird diese mit dem Umstieg auf den neuen Parser aber gegebenenfalls anpassen müssen, denn zugunsten einer möglichst hohen Kompatibilität mit anderen HTML5-Browsern machen die Webkit-Entwickler Abstriche bei der Abwärtskompatibilität. Allerdings betrifft das ausschließlich HTML-Konstrukte, die bislang nur von Webkit verarbeitet wurden.

Webkits HTML5-Parser steht im Kern und umfasst derzeit rund 10.000 Codezeilen. Er kann mit aktuellen Nightly-Builds von Webkit ausprobiert werden. Allerdings fehlt noch ein nennenswerter Teil: Fragment-Parsing, wie es von innerHTML und HTML5test.com(öffnet im neuen Fenster) verwendet wird. Hier kommt der aktuelle Nightly-Build von Webkit im Übrigen auf 222 von 300 Punkten, zuzüglich sieben Bonuspunkten. Safari 5.0.1 erreicht 208 Punkte plus sieben Bonuspunkte.

Zusammen mit dem HTML5-Parser hat das Webkit-Team auch 250 Tests entwickelt, die dem W3C für dessen Parser-Testsuite HTML5lib zur Verfügung gestellt werden.

Mozilla arbeitet ebenfalls an einer Implementierung des HTML5-Parsers für Firefox 4.0 . Das Projekt html5lib(öffnet im neuen Fenster) arbeitet seinerseits an einer freien Implementierung des HTML5-Parsers in Python und PHP.

Aktuelle Nightly-Builds von Webkit stehen unter nightly.webkit.org(öffnet im neuen Fenster) für Windows und Mac OS X zum Download bereit.


Relevante Themen