molily: HTML5 und die Sprache des Dokuments

Beitrag lesen

Es ist durchaus sinnvoller XML-Notation zu verwenden, denn echte XML-Parser gibt es wie Sand am Meer. Funktionstüchtige SGML- oder HTML5-Parser sind schwer zu finden.

Funktionstüchtige SGML-Parser gibt es seit 20 Jahren. Der W3C-Validator beispielsweise verwendet OpenSP zur Verarbeitung von HTML 4, das ist ein durchaus funktionstüchtiger SGML-Parser. Der W3C-Validator verwendet den Validator.nu-Parser zur Verarbeitung von HTML5, das ist ein durchaus funktionstüchtiger HTML5-Parser in Java. Der ist mittlerweile auch schon seit 5 Jahren in der Entwicklung. Eine C++-Version davon findet sich in Firefox 4, daran wurde auch Jahre lang geschraubt. Chrome enthält seit Version 7 den HTML5-Parser aus Webkit.

Echte Parser für HTML5 und SGML gibt es also ebenfalls wie Sand am Meer. Was du meinst ist eher, dass nicht sämtliche Programmiersprachen einfach nutzbare Schnittstellen zu diesen haben, wie es bei XML-Parsern wie libxml2 der Fall ist. Prinzipiell ist der Sinn von HTML5-Parsern gerade, sämtliche (X)HTML-Dokumente einheitlich verarbeiten zu können. Es fehlen bis dato nur die Schnittstellen in den verbreiteten Scriptsprachen. Lediglich für PHP und Python gibt es html5lib. Allerdings ist eine HTML5-Parser-Bibliothek geplant, die zur libxml2-API kompatibel ist. Übrigens hat libxml2 auch einen liberalen HTML-Parsemodus, der durchaus brauchbar ist, allerdings ist das meines Wissens ein unspezifiziertes Mittelding zwischen SGML-, XML- und Tag-Soup-Parser.

Mathias