Next Previous Contents

1. Einführung: Was ist SGML?

SGML bezeichnet ein standardisiertes Verfahren zur inhaltlichen Markierung elektronisch erstellter Texte. Ein mit solchen Markierungen versehener Text wird von einem SGML-Parser gelesen und über automatisierte Zwischenstufen in einer auf das gewünschte Ausgabemedium angepaßten Form wiedergegeben. Im Idealfall hat der Autor eines SGML-Textes nur geringe Einflußmöglichkeiten auf die Art, wie die Markierungen auf der Zielplattform umgesetzt werden; geringfügig mehr Definitionsmöglichkeiten verbleiben dem Autor meistens jedoch (auch das ist medienabhängig) bei der Wahl bestimmer Schriftattribute. Im Gegensatz zu diesen eingeschränkten Möglichkeiten der Gestaltung des Erscheinungsbildes hat der Benutzer eines SGML-Systems jedoch umfassende Möglichkeiten, seinen Text zu gliedern und zu strukturieren; in jedem Falle wird die Gegebenheiten des Ausgabemediums optimal zur Wiedergabe dieser Strukturierung genutzt, wie man am Vergleich von gedruckter Ausgabe und HTML-Ausgabe des semantisch gleichen Dokuments sehen kann.

Jedes SGML-System besteht aus mindestens zwei Teilen, der Dokumentendefinition (abgkürzt DTD, Document Type Definition), und einem Parser.

  1. Die Dokumentendefinition enthält die Beschreibung aller zulässigen Textauszeichnungen, und
  2. der Parser erzeugt aus dem Quelltext unter Verwendung der Dokumentendefinition den Text für ein bestimmtes Zielmedium.

Es muß hervorgehoben werden, daß SGML, bei aller oberflächlichen Analogie zu bekannten auszeichnungsbasierenden Formatiersystemen wie roff, LaTeX oder HTML, kein weiteres Formatiersystem ist. Kein SGML-Parser erzeugt aus der Quelldatei jemals ein fertiges Dokument; SGML ist eine Sprache zur Beschreibung von Auszeichnungssystemen. SGML-Systeme erzeugen daher lediglich den LaTeX-, HTML- etc. Quelltext, aus dem dann das fertige Dokument des jeweiligen Zielformats entsteht.

Mit SGML-Systemen lassen sich daher aus einem Quelltext Texte für die unterschiedlichsten Zwecke erstellen. Das System sgml-tools, dessen Bedienung hier beispielhaft vorgestellt wird, kennt folgende Ausgabeformate:

HTML

Das Kommando sgml2html wandelt eine SGML-Quelle in ein HTML-Dokument um, das nötigenfalls über mehrere Dateien aufgeteilt ist, die von einem gemeinsamen Inhaltsverzeichnis zusammengehalten werden.

info

Das Kommando sgml2info erzeugt Texte im GNU-spezifischen Hypertextformat info, im dem ein Großteil der GNU-Software dokumentiert ist. Ein info-Modus ist Bestandteil des Editors emacs, ohne emacs können die Texte entweder mit info oder tkinfo gelesen werden.

LaTeX

Das Kommando sgml2latex erzeugt Texte, deren Erscheinungsbild für Printmedien (Bücher, Zeitschriften) optimiert ist. Wahlweise läßt sich der Ausgabetext als PostScript-, als DVI- oder als TeX-Datei abspeichern.

LyX

Das Kommando smgl2lyx erzeugt Texte, die mit der auf LaTeX basierenden WYSIWYG-Oberfläche LyX weiterverarbeitet werden können. Im Gegensatz zur LaTeX-Variante verfügt diese Ausgabeart über keinen Befehl zur Erstellung der Druckvorlagen, da diese mit der Ausgabe des LaTeX-Systems identisch wären.

RTF

Das Kommando sgml2rtf erzeugt Dateien im Microsoft-spezifischen Rich Text Format, einer ASCII-Beschreibung der Textdatei, die in vielen Punkten (Kommandosyntax, Befehlsorthographie) stark an ein korrumpiertes TeX erinnert. Die mit sgml2rtf erstellten Dateien sind so aufgebaut, daß sie sich problemlos vom Textcompiler hc31.exe lesen lassen können, so daß sich Texte für das Hilfesystem von Microsoft Windows damit erstellen lassen.

txt

Das Kommando sgml2txt erzeugt aus einer SGML-Vorlage einen einfachen ASCII-Text oder wahlweise auch einen Text im Zeichensatz ISO-8859-1, so daß auch Umlaute und Sonderzeichen korrekt dargestellt werden können. Neben der Ausgabe einfacher Textdateien ist sgml2txt auch zur Erzeugung von Quelldateien auf groff-Basis fähig, so daß sich leicht die bekannten manpages (Bedienungsanleitungen der Unix-Systeme) erzeugen lassen.

1.1 Anwendungsbeispiele von SGML

Dokumentation von Computersoftware

Eines der umfassendsten frei zugänglichen Beispiele für die gelungene Verwendung von SGML ist die Serie der Linux-HOWTO-Anleitungen. Diese Texte geben Informationen zu den verschiedensten Fragestellungen des Betriebssystems Linux; geschrieben werden diese Texte von zahlreichen Autoren, aber gesammelt und gepflegt werden sie an zentraler Stelle. Die Koordinatoren des Linuxdoc-Projektes entwickelten eigens zu diesem Zweck eine zunächst relativ spezialisierte Variante eines SGML-Systems, das auf die spezifischen Bedürfnisse der Software-Dokumentation zugeschnitten war. So wurde es möglich, die Texte nicht nur im Internet und als Onlinedokumentation im HTML-Format anzubieten, sondern auch die Erstellung gedruckter Handbücher (etwa der Linux-Bibel etc.) erwies sich als sehr einfach, wobei von Anfang an ein einheitliches Erscheinungsbild und damit eine einfache Orientierung des Lesers sichergestellt ist.

Bedienungsanleitungen umfangreicher technischer Systeme

Ähnlich wie die Dokumentation komplexer Computersysteme umfaßt auch die technische Dokumentation größerer Industrieanlagen oft Tausende von Seiten. Obwohl die einzelnen Komponenten einer Industrieanlage standardisiert sind, ist die einzelne Anlage fast immer ein auf den Kundenwunsch hin zugeschnittenes Einzelobjekt. Als Beispiel möge ein Umspannwerk dienen, das die Hochspannung eines städtischen Verteilungsnetzes in die für die Einspeisung ins Haushaltsnetz nötige Niederspannung umwandelt. Ein Umspannwerk enthält wenigstens einen Transformator, darüberhinaus aber umfangreiche Schaltanlagen, mit denen einerseits der Transformator vom Netz getrennt werden kann und andererseits der Kurzschlußschutz bei Unfällen realisiert wird. Darüberhinaus gibt es umfangreiche Regel- und Kontrollsysteme, die zur Aufrechterhaltung auch des normalen Betriebs notwendig sind.

Die Dokumentation ein und desselben Objekts wendet sich oft gleichzeitig an ganz unterschiedliche Interessenten: Der Auftraggeber und Käufer einer solchen Anlage möchte etwas anderes lesen als der Sicherheitsfachmann, der die Anlage genehmigt; der Wartungsingenieur wiederum hat andere Wünsche an die Dokumentation als der Chef der Verkaufsabteilung. Allen aber ist gemeinsam, daß sie sich darauf verlassen können müssen, daß die Dokumentation exakt das Produkt beschreibt, mit dem sie es zu tun haben, auch wenn vielleicht nur der Aspekt ausführlicher dargestellt wird, an dem die jeweilige Zielgruppe interessiert ist.

Innerbetriebliche Dokumentation (Firmenhandbücher)

Der Name ``Handbuch'' für die Dokumentation der innerbetrieblichen Regeln und Abläufe einer Firma, einer Behörde oder nahezu jeder größeren Organisation ist irreführend, da es sich meist um Aktenordner voll des unterschiedlichsten Materials handelt. Typische Bestandteile einer innerbetrieblichen Dokumentation umfassen neben einer Beschreibung der Arbeits- und Produktionsabläufe ausführlich die Pflichten und Rechte aller Mitglieder und Organisationseinheiten der Einrichtung; für Aktiengesellschaften sind Regeln wichtig, die Form, Art und Umfang der Öffentlichkeitspflicht festlegen (Aktionärsversammlung, Geschäftsbericht, etc.; letzten Endes ist auch der Geschäftsbericht ein Teil der innerbetrieblichen Dokumentation); das Verhalten im Ausnahmefall muß festgelegt werden; Musterverträge für sämtliche zu erwartenden Transaktionen werden hinterlegt.

Verträge und Satzungen

Verträge werden zwischen mehreren Parteien zwecks Festlegung von Handlungen, Rechten und Pflichten innerhalb eines gemeinsam definierten Kontextes geschlossen. Ein relativ einfacher Vertrag ist ein Vertrag über eine Wohnungsvermietung mit Klauseln für Warmwasserabrechnung und Kleintierhaltung; ein umfangreicher Vertrag kann viele Hundert Seiten umfassen und regelt beispielsweise sämtliche Handlungsschritte und Kapitalfragen zweier Unternehmen, die gemeinsam ein Joint Venture bilden. Solche Verträge enthalten neben dem eigentlichen Vertragstext oft noch umfangreiche Anlagen und Zusatzabkommen mit Konstruktionsplänen oder Vertriebsvereinbarungen.

Satzungen von Vereinen und Körperschaften stellen eine Sonderform des Vertrages dar, der alle Mitglieder einer Körperschaft bindet; auch hier kann es erforderlich sein, das Erscheinungsbild des fertigen Textes den übrigen Dokumenten der Körperschaft anzugleichen.

Informationsangebote im WWW

Wenn es sich nicht um die private Homepage einer Privatperson mit Informationen über Hobbies, Haustiere und Lebensgefährten handelt, wachsen Angebote, die oft aktualisiert werden und über komplexe Sachverhalte informieren, oft mit großer Geschwindigkeit. Aufgrund der Eigenheiten der Übertragungswege und Wiedergabemedien ist hier eine rasche und einheitliche Benutzerführung gestützt auf ein übersichtliches Inhaltsverzeichnis von besonderer Wichtigkeit.

Alle genannten Beispiele zeichnen sich durch mehrere große Gemeinsamkeiten aus:

1.2 Beziehung von SGML und HTML

HTML, die Hypertext Markup Language, ist das Textauszeichnungssystem, mit dem die Texte des WWW erstellt werden. Gemeinsam mit SGML hat HTML, daß das Erscheinungsbild bestimmter Auszeichnungen erst vom Textbetrachter festgelegt wird und der Autor eigentlich keinen Einfluß auf z.B. die Wahl der Schriftgröße bei Überschriften haben sollte. Dennoch sind SGML und HTML grundlegend verschieden. Mit SGML werden Auszeichnungssysteme beschrieben, während HTML ein Auszeichnungssystem ist. Anders gesagt: SGML ist ein abstraktes, HTML ist ein konkretes System. Im grammatikalischen Vergleich beider Systeme wird deutlich, daß HTML nur eine Untermenge der Möglichkeiten von SGML bietet.

So gibt es als Beispiel einer Übereinstimmung in HTML wie in SGML Befehle zur Erzeugung Listen, aber während SGML unterschiedlich formatierte Überschriften als Resultat einer Auswertung von Gliederungsebenen erzeugt, ``versteht'' HTML nichts von hierarchischer Dokumentengliederung und muß konkret mitgeteilt bekommen, aus welcher Ebene eine Überschrift ausgewählt werden soll.

Aufgrund dieser fundamentalen Einschränkungen ist es daher nur unvollständig möglich, einen HTML-Text auf einem anderem Medium als dem Textbetrachter ideal auszugeben; das Resultat läßt ästhetisch zu wünschen übrig und wirkt immer wie eine Nachbildung der bildschirmtypischen HTML-Darstellung mit Textprozessormitteln.


Next Previous Contents