Technik für die automatische Generierung von HTML-Webseiten

Falls Sie in den folgenden Abschnitten nur &Bahnhof& verstehen, vermute ich, dass Sie sich versurft haben. Diese technischen Hintergründe wenden sich vor allem an Leute, die mit Web-Techniken vertraut sind und die sich selbst mit der Erstellung von Web-Seiten beschäftigen.

Um den Pflegeaufwand für die HTML-Seiten unserer Web-Sphere nicht ausufern zu lassen, habe ich mir eine Umgebung geschaffen, aus der die Seiten automatisch generiert und upgedated werden. Dazu verwende ich eine Technologie die auf der Beschreibungssprache XML basiert. Dabei werden die Seiten in XML beschrieben und durch XSLT-Transformationen in HTML umgesetzt. Die Beschreibung der Seiten ist in einer DTD festgelegt. Als XSLT-Prozessor verwende ich Saxon 9b, da ich an manchen Stellen XSLT2 benötige.

Gesteuert wird der gesamte Prozess durch Apache ANT. Damit kann (plattformunabhängig) der gesamte Ablauf beschrieben und durchgeführt werden. Es werden nur die tatsächlich notwendigen Generierungs- und Konvertierungsschritte durchgeführt.

Die Menüstruktur und die Buttons am linken Rand werden ebenfalls automatisch generiert. Die Beschriftung der Buttons wird durch ein kleines selbstgeschriebenes Bildbearbeitungstool erzeugt.

Auch die Fotogalierien werden automatisch erzeugt. Dazu wird für jedes Bild und sein Thumbnail auf einer Seite ein Tabelleneintrag generiert mit dem Aufnahmedatum und der Dateigröße. Später werden dazu auch noch Navigationsbuttons erzeugt, mit dem dann die einzelnen Bilder gebrowst werden können. Für die Erzeugung der Vorschauen wird zusätzlich zu ANT der optionale Task "Image" verwendet. (Achtung: der Image-Task ist in den Ubuntu-Repositories für ANT-optional NICHT enthalten.)

  1. Aus der Datei MENU.XML werden die Beschriftungen der Buttons herausgelesen und die Button-Vorlage für den entsprechenden Menu-Level kopiert. Dann wird die Beschriftung auf die kopierte Buttonvorlage geschrieben. Der ganze Prozess wird durch ein XSLT- Stylesheet gesteuert.
  2. Im BUILD.XML für ANT ist eine Liste mit den Fotogalerien enthalten. Für jede dieser Galerien wird zunächst eine XML-Datei mit der Directory-Struktur der Bilder angelegt. Diese Datei transformiert Saxon dann mit Hilfe eines XSLT-Stylesheets ine eine weitere XML-Datei, die dann von der eigentlichen XML-Datei für die Seitenbeschreibung eingebunden wird.
  3. Alle Bilder und verlinkten Dateien werden in das Target-Verzeichnis "build" kopiert.
  4. Nun beginnt die eigentliche Transformation der XML-Seitenbeschreibungen in HTML. Dabei werden Sektionen für die Dekoration, Navigation und den Inhalt erstellt. So weit wie möglich wird dabei auf Tabellen verzichtet. Der Inhalt der Seiten wird dabei entweder referenziert (wie im Fall von Galerien) oder ist direkt als XHTML in der XML-Datei für die Seitenbeschreibung enthalten. Aus einer ID für das entsprechende Menü und der Menübeschreibung (MENU.XML) wird dann die Struktur der Buttons (aus- und eingeklappt) für die Navigation erzeugt.

Hosting

Die Seiten werden von dem Provider Rasterpunkt gehostet. Für das Update der Seiten verwende ich sitecopy , bei dem nur die tatsächlich geänderten Dateien per FTP übertragen werden.

Betriebssystem

Entwickelt und gepflegt werden die Seiten sowohl unter Linux, wie auch unter Windows XP. Ubuntu 8.10 ist dabei die Distribution meiner Wahl. Ubuntu und Debian laufen inzwischen bei mir auf fünf Rechnern inkl. Home-Theater-PC, File-Server sowie Haussteuerung. Zwischen den beiden Welten sorgt das Program Unison für einen konsistenten Stand der Daten.

Seitenanfang
Last Update:
2009-04-03
20:06:10