Language & Information Lab.
Anfang 1991 wurde von Prof. M. Domenig das Projekt "Intelligente Bearbeitung und Archivierung von Texten" lanciert. Um Erfahrungen mit grossen Textmengen aufbauen zu können, wurde die NZZ angefragt, ob sie ihre Artikel-Daten dem Institut für Forschungszwecke zur Verfügung stellen würde. Dabei stellte sich heraus, dass die NZZ ihre Daten, obwohl diese durch ein eigenes Redaktionssystem elektronisch hergestellt wurden, leider nicht elektronisch aufbewahrte. Artikel wurden nach ihrer Veröffentlichung vom System nach einer Woche gelöscht.
Seit September 1992 werden die Artikeldaten bei der NZZ (nach Überwindung von technischen Problemen) im proprietären NZZ-Format gespeichert und seither auch dem Institut für Informatik zur Verfügung gestellt. Mit diesen Daten wurde eine strukturierte Text-Datenbasis für ein Information Retrieval System (IRS) aufgebaut. Die Struktur dieser Datenbasis wurde nach wissenschaftlichen Erkenntnissen konzipiert und ist auf Wiederverwendbarkeit der gespeicherten Daten ausgelegt. Dies zahlte sich später aus, indem die Daten und Strukturierung des Prototyps für die Produktion der CD-ROM übernommen werden konnten.
Als Grundlage für die Strukturierung der Datenbasis wurde der ISO Standard SGML (Standard Generalized Markup Language) verwendet. Dieser Standard wird seit seiner Veröffentlichung im Jahre 1986 immer populärer. So erstellt beispielsweise das europäische Atomzentrum CERN (Centre Européen de Recherche Nucléaires, Genf) seine elektronischen Manuskripte zum grössten Teil auf der Basis von SGML. Ein Teil der Internet-Gemeinde schickt ihre Dokumente im HTML-Format (Hypertext Markup Language) um die Welt, Stichwort WWW (World Wide Web). Das HTML-Format wurde am CERN, auf SGML basierend, entwickelt. Es erwies sich, dass sich SGML auch gut für grosse Textarchive - wie z.B. eben dasjenige der NZZ - eignet.
Folgende weitere Argumente führten zur Wahl von SGML:
Ein Computerdokument wird mit Hilfe von Informatikmitteln elektronisch erstellt und besteht aus den vier Elementen: Codierung, Struktur, Daten und Format.
Die Codierung legt fest, in welcher Form die Daten des Dokumentes elektronisch repräsentiert werden, welches Binärmuster welchen Zeichen entspricht. Für Zeichen, Bilder, Video und Ton gibt es hierzu unterschiedliche Normen. Für die Textcodierung alleine werden Standards wie ASCII, ISO-8859-1, EBCDIC, Unicode, etc. angeboten. Ihnen gemeinsam ist,dass ein Text in einem bestimmten Code nicht (bzw. nur sehr umständlich) in einen anderen Code umgeschrieben werden kann.
Die Struktur eines Dokumentes besteht aus den Beziehungen zwischen den Datenelementen. So kann die Struktur eines Zeitungsartikels bestehend aus den Elementen Obertitel, Haupttitel, Untertitel, Textelement etc., als Hierarchie oder auch als Netzwerk dargestellt werden.
Unter Daten wird der Inhalt eines Dokumentes, welches aus Text, Grafiken, Bildern und sogar Tönen und Videodaten besteht, verstanden. Die Daten können aber auch zusätzliche Informationen enthalten, die für den Benutzer nicht sichtbar sind.
Das Format eines Dokumentes bestimmt das Aussehen und die Gestaltung (Layout) der logischen Elemente der Dokumentenstruktur auf einem Medium (Papier, Bildschirm).
Es folgt nun eine stark vereinfachte Beschreibung der Konzepte und Ideen des ISO-Standards SGML. Eine sehr brauchbare Einführung wird im Buch von Eric van Herwijnen "Practical SGML" gegeben [Her90].
Die Layout Information selbst wird in speziellen, vom Dokument getrennten Stylesheets verwaltet. SGML basiert auf dem deskriptiven und nicht auf dem sonst eher üblichen prozeduralen Markup. Das prozedurale Markup wird heute von verschiedenen üblichen Textverarbeitungssytemen verwendet und entspricht im wesentlichen einer proprietären Formatierungssprache. Dabei wird an bestimmten Textstellen eine Funktion (Prozedur) aufgerufen, welche die entsprechende Aktion ausführt (Beispiel: Titel soll fett und zentriert dargestellt werden).
Im Gegensatz dazu beschreibt das deskriptive Markup die Struktur des Dokumentes und nicht, wie es auszusehen hat. Eine häufig gebrauchte Art, ein Dokument zu markieren, ist seine strukturellen Elemente nach Sektionen Titel und Paragraphen zu skizzieren.
Abbildung 1 zeigt den Ausschnitt eines Artikels der NZZ und dessen deskriptives und prozedurales Markup.
Abbildung 1: Markup-Typen am Beispiel eines NZZ-Artikels
Ein SGML-Dokument ist ein sogenanntes "Compound Document". Das bedeutet, dass die vier Elemente (Codierung, Struktur, Daten, Stylesheets) vier speziellen Teilen zugeordnet sind: die SGML Deklaration enthält die Codierung, die DTD die Struktur, die Dokumentinstanz die Daten und das Stylesheet schliesslich das Format.
Ein Elemente ist eine Struktur, welche durch das Markup im Dokument identifiziert wird. Es ist ein Block, der Daten, weitere Elemente oder beides enthält. Ein Element wird durch Begin- (z.B. <text.header> ) und End-Tags (z.B. </text.header>) markiert. Typische Beispiele von Elementen sind Paragraphen, Kapitel, Titel. Elemente können des weiteren Attribute enthalten, die im Begin-Tag eingefügt sind.
Ein Attribut bezeichnet eine Eigenschaft, die mit einem bestimmten Element assoziiert wird. Der Wert des Attributes beschreibt ein Element, ist jedoch nicht Bestandteil des Inhalts (Beispiel: <header.title type=HT>. Das Attribut `type'=HT bedeutet, dass es sich hier um einen Haupttitel handelt).
Eine Entität bildet eine Einheit von Informationen, die einen Teil - von einem einzelnen Buchstaben, über eine Abkürzung bis zu einem ganzen Textteil eines Dokumentes - enthalten. Eine Entität wird durch einen Namen referenziert und der Inhalt wird bei der Aufbereitung anstelle des Namens eingefügt, ähnlich einem Makro in Microsoft Word oder einer Programmiersprache. Entitäten werden oft für diakritische Zeichen verwendet, die im normalen Zeichensatz nicht vorkommen. Beispiel: Ein ü wird zu `ü' Das `&' und `;' Zeichen bilden den Anfang und das Ende der Entität. Somit ist es möglich, sämtliche Spezialzeichen im plattformkompatiblen 7-Bit ASCII (ISO 646) zu codieren.
<article.text> <text.header> <header.title type=OT>Reformbedarf in Osteuropa </header.title> <header.title type=HT>Die Glaubwürdigkeitals vernachlässigtes Problem des Systemwandels </header.title> </text.header> <text.byline type=KO> Von Kurt Pelda* </text.byline> <text.intro type=LD>Die entscheidende Voraussetzung für das Gelingen von Reformen in Osteuropa ist deren Glaubwürdigkeit. ... : ...</text.intro><text.text type=GR>Fast alle erfolgreichen und wohlhabenden Nationen dieser Erde verfügen über<hw type=k> demokratische und marktwirtschaftliche Systeme.</hw> ... </article.text>
Abbildung 1: Ausschnitte aus der Dokumentinstanz eines NZZ-Artikels
<!-- Beispiel einer SGML Dokument Grammatik für NZZ Artikel --> <!-- Strukturelement Definitionen ================================ --> <!ELEMENT article.text - - (text.header?, text.intro?, text.byline?, text.text?)* >
<!ELEMENT text.header - - (header.title*) > <!ELEMENT text.intro - - (#PCDATA) > <!ELEMENT text.location - - (#PCDATA) > <!ELEMENT text.text - - (#PCDATA) > <!ELEMENT header.title - - (#PCDATA) > <!ELEMENT hw - - (#PCDATA)--für Textauszeichnungen -->
<!-- Attribut Definitionen =============================== --> <!ATTLIST header.title type (HT, LT, KT, UT) #REQUIRED > <!ATTLIST text.intro type (LD, VO) #REQUIRED > <!ATTLIST text.byline type (DA, KO, KD) #REQUIRED > <!ATTLIST text.text type (GR, GD, KL, SP, TD) #REQUIRED > :
Abbildung 3: DTD zu Dokumentinstanz in Abb.2
Die "Document Style Semantics and Specification" (DSSSL) ist eine Sprache zur detaillierten und typografisch anspruchsvollen Spezifikation von Layout und Komposition von Dokumenten. Sie ist ein ISO Standard und zur Zeit noch in Entwicklung. Heutige SGML-Systeme verwenden meist eigene Stylesheet-Konzepte in ihren Applikationen.
Wie weit soll die gedruckte Zeitung als Vorbild zur Bildung der Strukturen herangezogen werden? Wie stark sollen die Daten der DTD angepasst werden. Oder soll die DTD den Daten angepasst werden?
Für die erste CD-ROM Produktion wurde versucht, die gegebenen Strukturen des Redaktionssystems mit kleinen Erweiterungen nach SGML zu transferieren, um erste Erfahrungen sammeln zu können. Es war allerdings klar, dass es sich hierbei nur um eine prototypenartige DTD für die NZZ handelte, die für weitere Produktionen noch weiterentwickelt werden müsste. Abbildung 4 zeigt, als Baumstruktur dargestellt, einen Ausschnitt aus jenem Prototyp-DTD.
Abbildung 4: Logische Struktur des Artikelausschnittes aus Abb.1
Grosse Schwierigkeiten bereitete bei diesem Prozess der Umstand, dass ein Artikel aus mehreren Teilartikeln (Files) bestehen konnte und daher zuerst zusammengesetzt werden musste. Leider vergab das Redaktionssystem keine eindeutige Identifizierung, welche Teilartikel zu einem Artikel gehören, so dass hier nicht die üblichen Informatikmittel zur Anwendung kamen. Mit eigens für diese speziellen Fälle entwickelten Programmen wurde versucht, das Chaos möglichst klein zu halten.
Geplant ist auch, die SGML-Daten im HTML-Format auf dem Internet (Datenautobahn) als Online-Journal anzubieten. Als Beispiel für Kenner der Infobahn, wie so etwas aussehen könnte, sind hier zwei URL (Uniform Resource Locator) des World Wide Web (WWW) angegeben. Sie zeigen allerdings andere Wege zu elektronischen Zeitungen auf, als denjenigen der CD-ROM: