kalender


Übersicht

kalender --help | --version

kalender [ --verbose | --no_verbose ] [ --overwrite | --no_overwrite ] [ --translate | --no_translate ] [ --trname TRNAME ] [ --trreplace TRREPLACE ] [ --trlang TRLANG ] [ --basedir BASEDIR ] [ --docroot DOCROOT ] [ --kaldir KALDIR ] [ --datadir DATADIR ] [ --srcbase SRCBASE ] [ --srcdir SRCDIR ] [ --xsltpool XSLTPOOL ] [ --tempdir TEMPDIR ] [ --keeptmp | --no_keeptmp ] [ [ --tree | --kalender | --xslt | --mkhelp | --base | --langbase | --index | --htaccess ] ...
| [ --no_tree | --no_kalender | --no_xslt | --no_mkhelp | --no_base | --no_index | --no_htaccess ] ... ]

Optionen

--help

Gibt eine kurze Hilfe aus und zeigt die aktuellen Einstellungen an.

--version

Gibt kurze Hinweise zum Programm und die Version aus.

--verbose

Meldungen über den Programmablauf werden nach STDOUT ausgegeben.

--no_verbose

Diese Option hebt die Wirkung der Option --verbose auf.

--overwrite

Existierende Dateien werden überschrieben.

--no_overwrite

Diese Option hebt die Wirkung der Option --overwrite auf: existierende Dateien bleiben erhalten.

--translate

Texte in den Bildauswahl-Dateien (die Titel) werden in die fehlenden Sprachen übersetzt. Die Übersetzung ist Teil der Aktion --kalender.

Die Übersetzung ist nur möglich, wenn die Dateien trans.pl (Quelltext), lt_in.xslt (Text), lt_merge.xslt (Text) und lt_chktrname.xslt (Text) im Verzeichnis SRCDIR existieren. Wenn die Kennung des Übersetzungsmoduls (TRNAME) die Zeichenkette pipe enthält, wird ferner vorausgesetzt, dass die Skripte SRCBASE/localization/pipe_srv.pl und SRCBASE/localization/pipe_srv_stop.pl ausgeführt werden können.

--no_translate

Diese Option hebt die Wirkung der Option --translate auf. Die Titel der Bildauswahlen werden nicht in weitere Sprachen übersetzt.

--trname TRNAME

TRNAME ist die Kennung des Übersetzers. Sie wird im Zusammenhang mit der Lokalisierung der Website beschrieben.

--trreplace TRREPLACE

Die Transformation lt_merge.xslt (Text) fügt die übersetzten Titel in eine Kalenderbilddatei ein, zusammen mit den Kennungen der Übersetzer. In den Kalenderbilddateien, die der Webserver liefert, sind die Kennungen der Übersetzer durch andere Namen ersetzt. Die Zeichenkette TRREPLACE beschreibt diese Ersetzung.

Die Zeichenkette TRREPLACE wird als Parameter p_replace an die Transformation lt_chktrname.xslt (Text) übergeben. Dort ist der Aufbau des Parameterwertes beschrieben.

--trlang TRLANG

TRLANG ist eine Liste der Zielsprachen, in die die Titel der Bildauswahlen übersetzt werden. Die Kennungen der Zielsprachen werden durch ein Leerzeichen getrennt. In der Voreinstellung sind die Zielsprachen alle Sprachen, in denen die Lokalisierungsdatei DOCROOT/local/local.xml verfügbar ist.

--basedir BASEDIR

Der Pfad des Basisverzeichnisses zur Website. Er beeinflusst die voreingestellten Pfade der anderen Verzeichnisse.

--docroot DOCROOT

Das „Document root”-Verzeichnis des Webservers.

--kaldir KALDIR

KALDIR ist das Unterverzeichnis von DOCROOT mit den Daten zu den Kalendern (oder ein „Spiegelverzeichnis”).

--datadir DATADIR

DATADIR ist das Verzeichnis der Quelldaten zu den Kalendern Es enthält die Bildauswahldateien DATADIR/**/BILDAUSWAHL.xml und kann Index-Dateien DATADIR/**/index.xhtml.de und DATADIR/index.xhtml.de enthalten.

Die Verzeichnisstruktur spielt hier keine Rolle. Die Bildauswahl-Dateien für Kalender des Jahres JAHR liegen im Unterverzeichnis DATADIR/JAHR.

Die Kalender-Grunddaten liegen unter den Dateipfaden DATADIR/base/JAHR/a.xml.LANG. LANG steht für die Kennung der Sprache und des Landes in Kleinbuchstaben, z.B. fr-ca für Französisch in Kanada. Die Grunddaten enthalten in diesem Beispiel die gesetzlichen Feiertage in der französischsprachigen kanadischen Provinz Quebec.

Die Datei der Baumstruktur der Kalender ist DATADIR/tree.xml.

--srcbase SRCBASE

SRCBASE ist das Basisverzeichnis des Skripte zur Website. Hier werden Dateien in den Unterverzeichnissen SRCBASE/localization (Lokalisierung) SRCBASE/style (Stil allgemein) benötigt.

Das Verzeichnis SRCDIR ist in der Voreinstellung das Unterverzeichnis SRCBASE/kalender.

--srcdir SRCDIR

Das Verzeichnis SRCDIR enthält die Skripte zu den Kalendern.

--xsltpool XSLTPOOL

Das Verzeichnis XSLTPOOL enthält allgemein benutzte XSLT-Dateien.

--tempdir TEMPDIR

Das Verzeichnis TEMPDIR enthält Zwischendateien (verdichtete CSS- und Javascript-Dateien, Datei zur Ersetzung von Text-Kennungen), s. --keeptmp.

--keeptmp

Zwischendateien (verdichtete Versionen von CSS- und Javascript-Dateien, Datei zu Ersetzung von Text-IDs) bleiben erhalten.

--no_keeptmp

Diese Option hebt die Wirkung der Option --keeptmp auf. Zwischendateien (verdichtete Versionen von CSS- und Javascript-Dateien, Datei zu Ersetzung von Text-IDs) werden gelöscht.

--tree

Erzeugt die Datei DATADIR/tree.xml mit der Baumstruktur der Kalender. Diese Datei ist die Grundlage zur Erzeugung der Indexdateien (--index) und der Bildauswahldateien (--kalender) im Verzeichnis DOCROOT.

Das Programm tree.pl (Quelltext) erstellt die Baumstruktur (s. tree.rng). Dazu benötigt es weitere Dateien.

Die Transformation tree_sorttlv.xslt (Text) sortiert anschließend die Knoten der zweiten Ebene unterhalb der obersten Knoten in umgekehrter alphabetischer Reihenfolge ihrer Kennung. (Das neuere Jahr steht über dem älteren Jahr.) Hier hat die Baumstruktur genau einen obersten Knoten "Kalender".

--kalender

Erstellt Bildauswahl-Dateien im „Document Root„-Verzeichnis (DOCROOT). Die Liste der relativen URI der Bildauswahldateien wird aus der Baumstruktur DATADIR/tree.xml bestimmt.

Die folgenden Dateien sind beteiligt:

lt_in.xslt (Text)

Gibt den Titel einer Bildauswahldatei in verschiedenen Sprachversionen zur Weiterverarbeitung durch trans.pl (Quelltext) aus.

trans.pl (Quelltext)

Erzeugt die XML-Datei TEMPDIR/TIMESTAMP/PFAD_BILDAUSWAHL.xml.trans mit den fehlenden Übersetzungen des Titels der Bildauswahldatei DATADIR/PFAD_BILDAUSWAHL.xml.

lt_merge.xslt (Text)

Fügt die in der Datei DATADIR/PFAD_BILDAUSWAHL.xml fehlenden Sprachversionen des Titels aus der Datei TEMPDIR/TIMESTAMP/PFAD_BILDAUSWAHL.xml.trans ein. Die Ausgabe durchläuft die folgende Transformation lt_chktrname.xslt (Text).

lt_chktrname.xslt (Text)

Ersetzt in der Ausgabe der Transformation lt_merge.xslt (Text) die Kennungen der Übersetzer durch Namen. Das Ergebnis ist TEMPDIR/TIMESTAMP/PFAD_BILDAUSWAHL.xml.

SRCBASE/localization/pipe_srv.pl

Startet den Dienst zur Übersetzung, falls die Kennung des Übersetzungsmoduls TRNAME die Zeichenkette pipe enthält.

SRCBASE/localization/pipe_srv_stop.pl

Bedeendet den durch SRCBASE/localization/pipe_srv.pl gestarteten Dienst.

TEMPDIR/TIMESTAMP/PFAD_BILDAUSWAHL.xml.trans

Die neuen Übersetzungen eines Bildauswahl-Titels.

TEMPDIR/TIMESTAMP/PFAD_BILDAUSWAHL.xml

Bildauswahldatei mit neuen Übersetzungen des Titels.

kal_addkeywords.xslt (Text)

Fügt das Stichwort „Kalender” für Suchmaschinen in den angebotenen Sprachen zu einer Bildauswahldatei hinzu.

add_sspi.xslt (Text)

Fügt, falls nötig, eine xml-stylsheet-Verarbeitungsanweisung ein.

TEMPDIR/TIMESTAMP/shortids.xml

Datei mit den kurzen Textkennungen in der Lokalisierungsdatei. Die Transformation kal_addkeywords.xslt (Text) braucht das Wort „Kalender” in verschiedenen Sprachen.

Die Erstellung dieser Datei ist im Zusammenhang mit dem allgemeinen Stil der Website beschrieben. Die folgenden Dateien sind beteiligt: style/shortids.pl, style/localization_idlist.xslt und style/local.xml.de.

DATADIR/tree.xml

Diese Datei liefert mittels der Transformation tree_files.xslt (Text) die relativen URI der Bildauswahldateien.

tree_files.xslt (Text)

Erstellt aus der XML-Baumstruktur der Kalender (DATADIR/tree.xml) eine Liste der relativen URL der Bildauswahldateien.

kal_addkeywords.xslt (Text)

Fügt den Bildauswahldateien das Stichwort „Kalender” in den angebotenen Sprachen hinzu.

XSLTPOOL/xml_minimize.xslt

Entfernt Kommentare und unnötige Leerzeichen aus einer Bildauswahldatei.

--xslt

Erstellt die XSLT-Dateien im Verzeichnis KALDIR/s: KALDIR/s/kal.xslt. und KALDIR/s/treelist.xslt. sowie die gzip-komprimierten Varianten. Der Inhalt von CSS- und Javascript-Dateien wird direkt an Stelle von Verweisen eingefügt. Die langen „sprechenden” Kennungen der kurzen sprachabhängigen Texte werden durch kurze IDs ersetzt.

Die Erstellung der XSLT-Dateien ist im Zusammenhang mit dem Stil im allgemeinen beschrieben.

--mkhelp

Erzeugt die Hilfe-Dateien KALDIR/s/kal_help.xhtml.*, wie im Zusammenhang mit dem Stil im allgemeinen beschrieben.

--base

Erzeugt die Kalendergrunddaten KALDIR/b/*.

Grundlage sind die Dateien KENNUNG.txt im Verzeichnis DATADIR/feiertage und dessen Unterverzeichnissen. Unterverzeichnisse werden rekursiv verarbeitet. KENNUNG steht für einen Ländercode oder einen Sprache-/Land-Code wie de-at.

Unterverzeichnisnamen der Form 20[0-9][0-9] bezeichnen ein Kalenderjahr. Wenn es im Pfad keinen solchen Unterverzeichnisnamen gibt, hängt das Jahr vom aktuellen Kalenderjahr ab. In den Monaten Januar bis Oktober ist das Jahr das aktuelle Kalenderjahr, in den Monaten November und Dezember das Folgejahr.

Das Programm base.pl (Quelltext) im Verzeichnis SRCDIR erzeugt im entsprechenden Unterverzeichnis von KALDIR/b die Datei a.xml mit den Grunddaten des Jahres ohne Feiertage.

Aus einer Datei DATADIR/feiertage/**/KENNUNG.txt erzeugt base.pl (Quelltext) eine Grunddaten-XHML-Datei. Anschließende Transformationen erzeugen daraus die Datei KALDIR/b/**/KENNUNG.xml. und die gzip-komprimierte Version. Die langen Kennungen der sprachabhängigen Texte (Monatsnamen) in den Quelldateien DATADIR/base/* werden durch kurze IDs ersetzt, Kommentare und unnötige Leerzeichen und unnötige Namensraumknoten werden entfernt.

Unter anderem sind die folgenden Dateien beteiligt. Die Einzelheiten sind im Zusammenhang mit dem Stil im allgemeinen erklärt.

SRCDIR/base.pl

Erzeugt aus einer Textdatei mit den Feiertagen eine XHTML-Grunddaten-Datei.

TEMPDIR/TIMESTAMP/shortids.xml

Kurze Kennungen der sprachabhängigen Texte

SRCBASE/style/localization_shortids.xslt

Ersetzt die langen „sprechenden” Kennungen durch die kurzen Kennungen

XSLTPOOL/xml_minimize.xslt

Entfernt Kommentare und unnötige Leerzeichen.

SRCBASE/style/rmxmlns.pl

Entfernt unnötige Definitionen von Namensraum-Präfixen.

--langbase

Jede angebotene Sprachen wird einem Land zugeordnet. SPRACHE ist die Kennung einer Sprache, LAND die Kennung des zugeordneten Landes. Wenn die Datei KALDIR/b/*/SPRACHE-LAND.xml. existiert, dann wird diese Datei nach KALDIR/b/*/a.SPRACHE.xml. kopiert, und die gzip-komprimierte Datei KALDIR/b/*/SPRACHE-LAND.xml. wird nach KALDIR/b/*/a.SPRACHE.xml.gz kopiert. Wenn andernfalls die Datei KALDIR/b/*/LAND.xml. existiert, dann wird diese Datei nach KALDIR/b/*/a.SPRACHE.xml. kopiert, und die gzip-komprimierte Datei KALDIR/b/*/LAND.xml.gz wird nach KALDIR/b/*/a.SPRACHE.xml.gz kopiert.

Die Tansformation langcodes_cmd.xslt liest aus der Datei langcodes.dbd die Paare von SPRACHE und LAND.

--index

Das Verzeichnis KALDIR und dessen Unterverzeichnisse (mit Ausnahme der Unterverzeichnisse s (Stil) und b (Kalendergrunddaten) enthalten Index-Dateien index.xhtml.LANG. und index.xhtml.LANG.gz in verschiedenen Sprachen.

Die Liste der Unterverzeichnisse wird von der Transformation tree_cmd.xslt (Text) aus der Baumstruktur DATADIR/tree.xml erzeugt.

Zu einem Unterverzeichnis KALDIR/SUBDIR werden zuerst Index-Dateien aus den Dateien DATADIR/SUBDIR/index.xhtml.LANG erzeugt. Falls dann keine deutschsprachige Indexdatei KALDIR/SUBDIR/index.xhtml.de oder KALDIR/SUBDIR/index.xhtml.de. existiert, wird die deutschsprachige Index-Datei mit der Transformation tree_ht.xslt (Text) aus der Baumstruktur DATADIR/tree.xml erzeugt. Die Transformation xhtml_setlinks.xslt fügt Verweise auf das Icon der Website und CSS-Regeln ein. Die Transformation xhtml_settarget.xslt läßt die Ziele der Verweise in einem neuen Browser-Fenster erscheinen.

--htaccess

Erzeugt die Datei KALDIR/b/.htaccess: Das Programm SRCBASE/style/clean_config.pl entfernt aus der Quelldatei htaccess Kommentarzeilen und Leerzeilen.

--no_*

Wenn keine der „Aktionsoptionen” --tree, --kalender, --xslt, --mkhelp, --base, --langbase, --index, --htaccess genutzt wird, können die Optionen mit dem Präfix no_" (--no_tree, --no_kalender, --no_xslt, --no_mkhelp, --no_base, --no_langbase, --no_index und --no_htaccess) genutzt werden. Diese schließen die zugehörige Aktion aus. Alle nicht ausgeschlossenen Aktionen werden ausgeführt.

Beschreibung

Das Skript kalender unterstützt die Pflege der Kalender der Website. Es stützt sich auch auf Dateien in den Verzeichnissen SRCBASE/localization und SRCBASE/style, die in anderen Zusammenhängen beschrieben werden.