Zunächst war zu überlegen, welche Daten sinnvollerweise in den Quellen enthalten sein könnten und sollten. Ein erstes Brain-Storming brachte folgendes Ergebnis (unsortiert):
Am wichtigsten war ursprünglich der URL,
denn schließlich sollte es sich um eine Online-Anwendung
handeln, das heißt, die erste Auswahl enthielt
hauptsächlich solche Autoren, zu denen ein sinnvoller URL
zu finden warPersönliche Neigungen spielten
selbstverständlich keine Rolle.. Aber schnell stellte
sich heraus, dass sich schon mit diesen wenigen Daten einiges
würde machen lassen; vor allem dann, wenn man die Daten um ein
paar Details ergänzte (Nobelpreis, Begebenheiten, Geschlecht et
cetera).
Was die Darstellung auf dem Bildschirm angeht, kommt auch in diesem Fall James Clark Jade zum Einsatz — aus ähnlichen Gründen wie in Kapitel 14. Unabhängig davon, ob bereits Browser existieren, die XML verstehen, bietet es sich an, eine solche Autorensammlung in verschiedene Sichten aufzuteilen und diese Sichten als HTML-Dateien zu speichern beziehungsweise auf Mausklick zu generieren.
Hintergrund dieser Entscheidung ist, dass der Ausgangspunkt der Anwendung ein Web-Dokument sein soll, das neben einem Willkommenstext ein Formular enthält, über das sich Autoren, Jahrhunderte etc. auswählen lassen. Für die Ausgabe in einen Browser bedeutet das unterschiedlichen Inhalt, für das Generieren der Sichten unterschiedliche Style Sheets in DSSSL, mit deren Hilfe Jade die gewünschte HTML-Datei erzeugt. Vor allem bei größeren Dokumenten stellt sich die Frage, ob sie in ihrer Gesamtheit oder nur das Ergebnis einer Anfrage übertragen werden soll — etwa ein einzelner Autor, dessen Daten nur 2 bis 10 KByte umfassen, während die Gesamtheit der Daten bei 100 Autoren schon 200 KByte bis hin zu einem Megabyte betragen kann (abhängig von der Menge an vorhandenen Details).
Vor allem die Tatsache, dass die einzelnen Sichten
immer nur einen Bruchteil der gesamten Informationen enthalten
sollten, sprach gegen eine Übertragung aller
Datensätze
(hier: einzelne Autoren).
Je mehr solcher Sichten man aus einem Dokument generieren will, desto wichtiger wird das Tool zum Tool. Ausgehend von einem Unix-System ist es einfach, sich ein Makefile zu erstellen, das über Jade die jeweiligen HTML-Dateien erzeugt.
# Makefile zum Generieren der HTML-Dateien SRC = <SGML/XML-Quelle> all: toc century male female <...> toc: jade -d $@.dsl -t sgml xml.decl ${SRC}.xml > $@.html century: jade -d $@.dsl -t sgml xml.decl ${SRC}.xml > $@.html # weitere Zeilen ähnlicher Art
Beim Aufruf von make toc benutzt Jade das DSSSL-Programm toc.dsl und wendet es unter SGML-Kriterien (und unter Einbeziehung der XML-Deklaration) auf die Quelldatei an. In toc.html schließlich steht das Ergebnis nach erfolgreichem Programmlauf.
Analoge Hilfsmittel dürften sich auch auf anderen Betriebssystemen finden. Unter MSDOS reicht notfalls eine Batch-Datei, die abhängig von übergebenen Parametern Jade anstößt.
Aber bis zum Style Sheet ist es noch ein Stück Weges,
denn zunächst muss eine Dokumenttyp-Definition existieren,
deren Vorgaben wiederum die XML-Quelle
folgen muss. Im ersten Entwurf war die dazugehörige
DTD schnell fertigSoweit man bei
solchen Projekten das Wort fertig jemals
berechtigterweise verwenden kann. Und schnell heißt
hier quick & dirty. — und
wurde innerhalb weniger Tage zehnmal revidiert. Eine der ersten
Versionen sah folgende Einteilung vor:
<!ELEMENT lithist ( author+ ) > <!ELEMENT author ( name , vita , work* , event* , comment* ) >
Bei den Überlegungen, was Bestandteil dieser
Pseudoliteraturgeschichte sein sollte, waren die Autoren, wie
gesagt, zentralDeshalb fehlt hier jegliches weitere
Element.. Zusätzlich könnte man hier Überschriften
und eine Einführung vorsehen, aber beides lässt sich auch über
ein Style Sheet in das HTML-Dokument
transportieren. Das Plus-Zeichen heißt, dass mindestens ein Autor
vorhanden sein muss, aber schließlich ist das der Sinn der
Sache. In der zweiten Zeile ist festgelegt, woraus ein
Autoreneintrag bestehen soll. Es handelt sich um eine Sequenz
von zwingend vorhandenen und optionalen Elementen. Zwingend sind
nur der Name und die Lebensdaten, alle anderen Angaben sind optional: Sie
können fehlen oder einmal oder mehrfach vorkommen. Bei Werken
und Begebenheiten leuchtet das ein, beim Kommentar vielleicht
nicht. Mehrmaliges Vorkommen ist hier dazu gedacht, Angaben in
mehreren Sprachen zur Verfügung zu stellen (siehe unten).
An der Kleinigkeit — sollen Überschriften und Einführung in die DTD oder nicht? — ist zu sehen, dass eine DTD mehr Zeitaufwand bedeutet, als ihre leichte Lesbarkeit suggeriert. Vor allem wird sich zeigen, dass man immer wieder überlegt, inwieweit dies oder jenes geändert oder hinzugefügt werden sollte.