Technische Realisierung

Die 20 Texte des HyTex-Demonstrationsprototyps wurden auf drei verschiedenen Ebenen (logische Textstruktur, Definitionen und Termverwendungsinstanzen, Kohäsionsstrukturen, siehe Das Fachtextkorpus und seine Aufbereitung) mittels XML annotiert. Dies geschah größtenteils manuell. Die so erfassten Textstrukturen können jederzeit geändert und anschließend vollautomatisch in ihre webbasierte Form (HTML mit Javascript-Code) transformiert werden.

Dies geschieht im Wesentlichen in zwei Schritten:
  • Unifikation: die getrennt annotierten Ebenen eines Textes werden zu einem einzigen XML-Dokument (Unifikat) vereinigt (siehe Vom XML-Markup zur Präsentation).
  • Transformation: Das Unifikat wird in die Zielsprache HTML + Javascript übersetzt. Die Transformation wurde in XSLT 2.0 programmiert.

Wir haben uns dazu entschieden, jedes Unifikat in ein einziges HTML-Dokument zu übersetzen (anstatt es aufzuteilen und pro Modul ein HTML-Dokument zu generieren). Mittels Javascript werden Sichten auf das Dokument generiert, die es erlauben, in der Regel eines, bei der Sichtfelderweiterung aber auch mehrere Module gleichzeitig anzuzeigen. Diese clientseitige Lösung hat gegenüber einer serverbasierten (z.B. mit Perl oder PHP) Vorteile:

  • Die technische Realisierung spiegelt die Hypertext-Idee der Sichtengenerierung auf einen Text.
  • Der HyTex-Demonstrationsprototyp kann mit seiner gesamten Funktionalität heruntergeladen und z.B. auf CD gebrannt werden, ein Offline-Betrieb ist also möglich.
  • Nachdem das Dokument einmal geladen wurde, entstehen keine weiteren Wartezeiten durch Serveranfragen.

Allerdings erlaubt die eingeschränkte Funktionalität von Javascript keine interaktiven Funktionalitäten wie z.B. Textsuche. Zudem funktioniert der "Back"-Button des Browsers nicht wie erwartet, da Browser zwar die Dokumenthistorie, nicht aber die Modul-Historie speichern (weil diese eben nur Sichten sind).

Das TermNet (Glossar) zu den Domänen Texttechnologie und Hypertext wurde intellektuell mit Unterstützung eines Tools zur Wissensmodellierung (K-Infinity) aufgebaut und kann jederzeit in eine XML Topic Map exportiert werden, auf der anschließend Inferenzen durchgeführt werden. Die um Inferenzen angereicherte Topic Map wird dann - wie das Textkorpus - durch XSLT-Skripte in das HTML-Zielformat übersetzt. Auch diese Schritte können jederzeit automatisch neu durchgeführt werden, wenn das Wissensnetz geändert wird. Mehr zum TermNet und seiner Verarbeitung

Um nicht bei jeder Änderung an den Ausgangsdateien (die drei Annotationsebenen jedes Textes und das Wissensnetz als XML Topic Map) alle HTML-Dateien neu berechnen zu müssen, wurde das GNU-Tool make umfassend eingesetzt. Beim Start überprüft es, welche der Ausgangsdateien geändert wurden und führt nur diejenigen Transformationen durch, die nötig sind, um den Demonstrationsprototyp zu aktualisieren.

Zurück zu den allgemeinen Erläuterungen