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.

1&1 MediaCenter ist online

Seit einigen Wochen ist das neue 1&1 MediaCenter online. Erwähnen möchte ich das deshalb, weil es der erste 1&1 Shop ist, der komplett mit den neuesten Frontend-Ansätzen arbeitet. Das YUI Loader Utility wurde durch das Jasmin-Sevlet abgelöst (ich habe hier bereits über beide Ansätze geschrieben). IE-spezifische Styles werden über Conditional Comments eingebunden. Zusätzlich dazu basiert der gesamte Bestellprozeß (im wesentlichen dessen Formulare) auf neuen, valides Markup produzierenden XSLT-Stylesheets, auf die ich bei Gelegenheit näher eingehen werde.

YUI Carousel jetzt auch bei Hosting

Nachdem bereits das Maxdome-Popup mit der YUI Carousel Component umgesetzt wurde, ist diese Feature jetzt auch in den verschiedenen Hosting-Shops, unter anderem hier, in etwas anderer Anwendung zu finden.



Wie die Headline bereits verrät, wird mit dem Carousel ein Überblick über die Feature-Highlights von 1&1 Hosting gegeben.

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

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

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

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