Erzeugen der HTML-Seiten

Aus der XML-Datei wird mit einer XSL-Transformation die Website aufgebaut. Die XSL-Transformation ist in einem Stylesheet travelog.xsl beschrieben, das inzwischen auf 116 KB angewachsen ist. Um aus einer Quellseite viele Ergebnisseiten erzeugen zu können, habe ich das XSL-Tag xsl:result-document verwendet, das zum Umfang von XSL 2.0 gehört. Damit mußte ich einen XSL 2.0-konformen Tranformator verwenden, in dem Fall Saxon 8. Saxon ist in Java implementiert, transformiert meine Seite aber trotzdem überraschend schnell.

Die Transformation macht wenig außergewöhnliches. Sie ordnet den Inhalt der XML-Datei ein wenig um, um z.B. die Galerien und die Ortsinformation aus dem Textfluß zu extrahieren und in eigene HTML-Abschnitte (div) zu stecken.

Wie die älteren Landkarten erzeugt werden, die nicht von Google Maps einbezogen werden, steht in einem eigenen Abschnitt

Die Galerien sind ein bißchen knifflig, da XSLT keine while-Schleifen kennt. Ich habe es mir hier einfach gemacht und angenommen, dass keine Galerie mehr als 26 Bilder hat. Ich habe vier Templates für die Galerien gemacht, jeweils für eine Galerie mit bis zu 8 Bildern, ein Anfangs-, ein Ende und ein Mitte-Template. Jedes Template erzeugt eine 3x3-Tabelle. Ich zähle die Bilder und rufe hartcodiert die entsprechenden Templates in der richtigen Reihenfolge auf. Die Namen der erzeugten HTML-Seiten lassen sich dabei durch eine feste Regel auseinander ableiten, so dass ich die Links auf die "nächste" und "vorherige" Seite ebenfalls hartkodiert setze. Der Code ist häßlich.




This page has been created on Donnerstag 19. Dezember 2013 from travelog.xml using travelog.xsl.