Up: make-Skript


7.5.1 Zu den Saxon-Aufrufen

An dieser Stelle möchte ich ein paar Sätze zu den Herzstücken der Webseiten-Generierung verlieren, nämlich den XSLT-Verarbeitungen. Dafür kommt ja der Saxon zum Einsatz. Interessanter ist allerdings das, was sonst noch an dem Aufruf hängt.

Wird beispielsweise der Artikel artikel/karlspreis-2005.xhtml in die Webseite webpages/Artikel/karlspreis-2005.html umgewandelt, so findet folgender Aufruf statt:

     saxon artikel/karlspreis-2005.xhtml xslt/zml2html/zml2html.xsl \
         name=karlspreis-2005.xhtml

Es wird mittels des Haupt-XSLT-Skriptes xslt/zml2html/zml2html.xsl die Quelldatei artikel/karlspreis-2005.xhtml verarbeitet. Das Ergebnis wird innerhalb des Python-Skriptes allerdings noch etwas nachbearbeitet, u.a. von HTML Tidy, See HTML Tidy.

Wichtig ist die Direktive `name=karlspreis-2005.xhtml'. Das ist ein sogenannter XSLT-Parameter. Damit steht dem XSLT-Skript der Name der Datei zur Verfügung, die gerade verarbeitet wird. Anhand derer kann das Skript beispielsweise erkennen, ob es sich um einen Artikel oder ein Snippet handelt – Snippets haben hier nämlich keine Dateiendung, da nur das name-Attribut übergeben wird, see webseite.xml.

Außerdem erkennt das XSLT-Skript beim prozessieren des Archivs (zu erkennen an `archiv="ja"' in webseite.xml, see webseite.xml), anhand dieses name-Parameters, welches Jahr gerade prozessiert wird. Das wird nämlich angehängt: Archiv-2005, Archiv-2006, etc.

Technisch gesehen ist der name-Parameter identisch mit der Kármán-URL, see Kármán-URLs.

Offline-Webseiten

Manchmal kann es praktisch sein, die Seiten ohne Webserver offline im Browser überprüfen zu können. Dabei ist es ein Problem, daß beim Verweis auf ein Verzeichnis vom Browser nicht automatisch die Datei index.html in diesem Verzeichnis geöffnet wird. (Der Webserver würde diese Datei automatisch liefern.)

Um Abhilfe zu schaffen, gibt es den Parameter `--offline' für das make-Skript. Damit werden Webseiten gebaut, die sich offline in einem Browser lesen lassen. Eventuell ist es nötig, vorher webpages/ zu löschen, damit wirklich alles neu erstellt wird. Diese Webseiten sollte man nicht hochladen, auch wenn sie funktionieren würden.

Will man wieder auf Online-Webseiten umschalten, sollte man ebenfalls vorher webpages/ löschen.