Sonntag, 6. April 2008

Ein Grund mehr für valides Markup

Die 1&1 Bestellfrontends basieren fast ausschließlich auf dem im Haus entwickelten Java-Framework Pustefix. Aus (Front-)Frontend-Sicht bedeutet dies, daß alle Seiten eines Projekts (und das sind mitunter hunderte) mit XSLT in unterschiedlichen Transformationsstufen zu einem HTML-Output transformiert werden. Dieser Ansatz bietet eine ganze Reihe großartiger Möglichkeiten. Innerhalb des Markup lassen sich z.B. eigene Elemente verwenden, welche dann mit Hilfe von XSLT Stylesheets zu HTML-Code transfromiert werden. Das wird im Wesentlichen dazu benutzt, um XML-basiert logische Entscheidungen treffen zu können, wie dieses generierte Markup auszusehen hat.

Was hat das jetzt mit validem Code zu tun? Ich habe in der letzten Woche eine größere Aufräumaktion gemacht, in der ich ca. 7000 Zeilen veralteten XSLT-Code aufgespürt und gelöscht habe. Das Problem, das man im Frontend dabei hat, ist folgendes: Wären bei dem gelöschten XSLT Templates dabei gewesen, die noch benötigt worden wären, wäre das nicht aufgefallen. Das liegt in der Arbeitsweise des XSLT-Prozessors begründet. Man hätte dann die erwähnten eigenen Elemente im Output wiedergefunden. In etwa so:

<p>
Geben sie Ihr Geburtsdatum ein: <getBirthDate/>
</p>

Dabei hätte das Element getBirthDate eigentlich zu vernünftigem HTML (z.B. einem <input>-Tag) transformiert werden müssen.

Aufspüren lassen sich solche Fehler eigentlich ganz einfach: Ist das generierte Dokument nicht valide (und so etwas würde sich automatisch feststellen lassen) trat ein Fehler auf. Das funktioniert aber nur - und jetzt kommt's - wenn man davon ausgehen kann, daß das Dokument vorher definitiv valide war. Sonst mischen sich invalide HTML-Konstrukte mit invaliden eigenen Elementen - blöd, denn dann ist automatisiert leider überhaupt nichts mehr feststellbar, denn was vorher schon invalide war, läßt sich auf dieses Kriterium leider nicht überprüfen.

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)
Noch keine Kommentare

Kommentar schreiben


Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA

 
 

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

Zurück Februar '12 Vorwärts
Mo Di Mi Do Fr Sa So
    1 2 3 4
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

  • Nico Steiner
  • www.nicosteiner.de
  • Karlsruhe/Germany
  • Senior Frontend-Developer at 1&1