XSLT-Dokumente


Javascript und CSS-Regeln

Die XSLT-Dateien, die der Server liefert, binden Javascript- und CSS-Dateien mit Ausnahme der mehrfach benutzten Datei common.js (Quelltext) direkt ein, statt auf sie zu verweisen.

Die Quell-Dateien durchlaufen dazu zwei Transformationen. Die erste Transformation styleincl_step_1.xslt (Text) ersetzt Verweise auf Javascript- oder CSS-Dateien durch XInclude-Elemente.

Aus den CSS- und Javascript-Dateien entfernen einfache Perl-Skripte Kommentare und Leerzeichen. Die zweite Transformation styleincl_step_2.xslt (Text) sieht an Stelle der XInclude-Elemente den Inhalt der eingebundenen Dateien (ohne Kommentare und mit wenigen Leerzeichen). Sie entfernt Kommentare und unnötige Leerzeichen aus dem XSLT-Dokument und kann auch Platzhalter in den eingebundenen CSS-Dateien ersetzen.

CSS-Dateien können Verweise auf Bilddateien in der Form url(RELPATH) enthalten. Der relative Pfad RELPATH bezieht sich auf die CSS-Datei. Wenn die CSS-Datei mittels XInclude in eine XSLT-Datei eingebunden wird, bezieht sich der Pfad auf die URL des Dokuments, auf das die XSLT-Transformation angewendet wird. Wenn aus CSS-Dateien Kommentare und Leerzeichen entfernt werden, dann wird auch vor jedem relativen Bild-Pfad der Platzhalter ${imageprefix} eingesetzt. Die erste Transformation styleincl_step_1.xslt (Text) kennzeichnet die Elemente, die ein XInclude-Element mit Verweis auf eine CSS-Datei enthalten (s. transformation_attributes.rng). Die zweite Transformation kann die Platzhalter in geeigneter Weise behandeln. Hier genügt es, die Platzhalter durch ein festes Pfad-Präfix zu ersetzen.

Internationalisierung

Sowohl die Quell-Dateien als auch die XSLT-Dokumente, die der Server liefert, enthalten keinen Text in natürlicher Sprache. Die Quell-Dateien enthalten Platzhalter (s. localization.rng), die Server-Dokumente XSLT-Elemente, die im Browser der Surferin den richtigen Text einsetzen.

Die Transformation styleincl_step_1.xslt (Text) ersetzt die Platzhalter durch XSLT-Elemente.

Die Quell-Dateien benutzen lange „sprechende” Schlüssel für die Texte, die Server-Dokumente dagegen kurze Schlüssel. Die Transformation localization_idlist.xslt (Text) erstellt aus der (deutschsprachigen) Lokalisierungsdatei local.xml.de eine Liste der Schlüssel, das Perl-Programm shortids.pl (Quelltext) ordnet den langen Schlüsseln kurze Schlüssel zu (Format der Ausgabe s. hash.rng), und styleincl_step_1.xslt (Text) nutzt dessen Ausgabe.

Die Transformation localization_shortids.xslt (Text) erzeugt aus Quelldatei local.xml.de die Datei local/local.xml.de im Server-Verzeichnis. Auch diese Transformation nutzt die Ausgabe des Programm shortids.pl (Quelltext), um die langen Schlüssel durch kurze Schlüssel zu ersetzen.