Jeder Web-Programmierer kann mit wenigen Handgriffen Unmengen an HTML, CSS und Javascript erzeugen, das in beliebigen Browsern irgendwie angezeigt wird. Leider ist nicht alles, was man so produziert, fehlerfrei oder entspricht den Standards. Das fällt nur zumeist nicht auf, da Browser inzwischen viele Tricks gelernt haben, um Fehler selber zu beheben.

Aber warum sollte sich dann in Programmierer Gedanken darum machen, ob die von ihm oder ihr bereitgestellten technischen Formate fehlerfrei, also valide sind?

  • Einzelne Browser haben zuweilen eine unterschiedliche Korrektur von Fehlern, so dass das angezeigte Ergebnis unterschiedlich ist.
  • Einige Fehler können Folgefehler auslösen, die nicht offensichtlich zusammenhängen, und damit schwer zu lösen sind. So kann ein HTML-Fehler z.B. die Ausführung von Javascript behindern. Gerade solche Fehler können später immensen Aufwand in der Analyse und Behebung verursachen.
  • Und nicht zuletzt: Jeder Programmierer sollte sich Gewissenhaftigkeit dauerhaft zur Angewohnheit machen.

Gerade bei falschem HTML können folgende Auswirkungen auftreten:

  • Die Seite kann von Suchmaschinen nicht mehr verstanden werden.
  • Die Seite ist nicht mehr barrierefrei, d.h. kann z.B. nicht mehr von Blinden genutzt werden.

Standards wurden vereinbart, damit alle Teilnehmer an einer Kommunikation sich aufeinander verlassen können, und eine fehlerfreie Kommunikation möglich ist. Bei HTML, CSS und Javascript mögen falsche Implementationen noch nicht so sehr auffallen… bei Schnittstellenprogrammierung dagegen kann eine Abweichung vom Standard die Kommunikation komplett unmöglich machen. Mit viel Liebe aufbereitete Daten versickern so im Nirwana.

Wie überprüfe ich die Einhaltung von technischen Spezifikation?

Dateien, die Programmierer erzeugen, entsprechen zumeist einem vorher definierten Datei-Typen bzw. Datei-Format. Neben einer Spezifikation gibt es zu den meisten Datei-Typen auch einen Validator. Dieser Validator prüft an ihn übergebene, generierte Dateien und erzeugt einen detaillierten Report, welche Teile der Datei vom Standard abweichen.

Bevor man großartig anfängt, ein spezielle Format zu validieren, sollte man zumindest die technische Basis des jeweiligen Dateiformats korrekt gelöst haben. Folgende allgemeine Format sind die geläufigsten:

  • XML-Dateien
  • JSON-Dateien
  • CSV-Dateien

Wenn z.B. eine Spezifikation auf XML basiert, kann man zuerst ganz generell nach XML-Fehlern suchen, bevor die eigentliche Validierung los geht. Gerne gemachte Fehler sind dabei:

  • Fehlerhafte Codierung von Ausgaben, wie z.B. die Verwendung von " an Stelle von " in XML.

Dabei gibt es für die gebräuchlichsten Datei-Typen frei verfügbare Validatoren im Internet. Für das Blogophon-Projekt wurden z.B. folgende Validatoren verwendet:

Mit Hilfe eines Validators ist es dann zumindest für die ausgewählten Dateien möglich, strukturellen Fehlern auf die Spur zu kommen. Hier sind die häufigsten Fehler:

  • Die Verwendung eines falschen Daten-, Datums- oder Zahlenformates in der Ausgabe.
  • Die falsche Ver­schach­te­lung von Elementen, d.h. die Verwendung von Elementen in einem falschen Kontext.

Fazit

Jeder Programmierer sollte zumindest einmalig exemplarisch jede von ihm oder ihr generierte Datei durch einen dazu passenden Validator schicken, um so grundsätzliche Fehler auszuschließen. Damit wird sichergestellt, dass alle Verwender dieses Dateityps sich auf eine fehlerfreie Struktur verlassen können.