3.1 Die Werkzeuge zur Realisierung

Für die Realisierung einer Werkzeugumgebung zur Dokumentation sind unterschiedliche Werkzeuge notwendig. So dient HTML zur Beschreibung der Seiten. Deshalb beschreibe ich auf den folgenden Seiten die Seitenbeschreibungssprache HTML, Dann folgt eine Beschreibung der Programme, die für die Erstellung der HTML-Seiten benutzt wurden.

3.1.1 HTML (Hypertext Markup Language)

Schon 1945 hat Vannevar Bush ein System beschrieben, in dem der Text nicht mehr rein sequentiell ist [Nielsen, 1993]. Dieses System, er nannte es Memex ("memory extender"), kann man heute als Hypertextsystem bezeichnen. Er entwickelte das Konzept für dieses System, weil er es auf Grund der enormen Zunahme der Informationen für nötig hielt, Wissen besser vermittelt zu können. Das System sollte mit Microfilmen arbeiten, die die Informationen aufnahmen. Ein Projektor stellte nun mehrere von diesen Microfilmen dar, so daß der Benutzer die Bezüge zwischen den einzelnen Informationen erkennen konnte. Dieses System ist aber nie implementiert worden.

Erst 1962 gab es mit dem Augment/NLS System ein System auf einem Computer, das erste Ansätze von Hypertext verwirklichte. Kurz darauf (1965) hat Ted Nelson auch ein System vorgeschlagen, er nannte es Xanadu, in dem alles Geschriebene gespeichert und zugreifbar ist. Da er von einer zentralen Speicherung ausgeht, wird sein System nie vollständig verwirklicht werden. Danach folgen weitere Hypertextsysteme, die die Struktur in Hypertexten immer weiter verbesserten.

Die Dokumentenbeschreibungssprache HTML, als Grundlage für ein Hypertextsystem, wurde ab 1980 an dem Europäischen Labor für Nuklearphysik CERN entwickelt. Diese Sprache baut auf der SGML (Structured Generalized Markup Language) auf. Die SGML ist in der ISO-Norm 8779 festgeschrieben und dient häufig zum standardisierten Datenaustausch zwischen unterschiedlichen Institutionen und Firmen [Münz, 1997]. Für HTML wurde SGML um die Hypertextfunktionen erweitert. Zusätzlich ist es mit HTML möglich, Grafik- und Textdaten in einem Dokument darzustellen.

HTML fand schnell viele Nutzer im Internet und ist Grundlage des World-Wide-Web (WWW). Der Vorteil von HTML liegt in der Verfügbarkeit. Für die Nutzung im Internet ist es nötig, daß unterschiedliche Computer die Dokumente darstellen können und daß der Datenaustausch zwischen den Computern möglich ist. Bei HTML ist der Austausch der Daten einfach möglich, denn eine HTML-Datei ist eine reine ASCII-Datei (American Standard Code for Information Interchange) [Eisenmenger, 1996]. Die übertragene Datei kann auch auf vielen Computern dargestellt werden, denn es existieren für viel Computer frei verfügbare Browser, die die HTML-Seiten auf dem Bildschirm darstellen. Der erste frei zugängliche Browser ist der Browser Mosaic, der von Studenten der Fakultät NCSA (National Center for Supercomputing Applications) entwickelt wurde.

Nach der ersten Version von HTML folgten weitere Definitionen. Die wichtigen Standards sind die Standards HTML 2.0 und HTML 3.2. Die heute häufig genutzten Browser von Netscape und Microsoft unterstützen diese Standards, aber Netscape und Microsoft haben Erweiterungen in ihren Browsern. Dadurch kommt es immer wieder zu Problemen mit der Darstellung. Denn diese Erweiterungen sind nicht kompatibel.

Der Aufbau eines HTML-Dokumentes

Eine HTML-Datei ist eine reine ASCII-Datei. Damit die Browser die strukturbeschreibenden Teile des Dokuments vom inhaltlichen Teil unterschieden können, sind die strukturbeschreibenden Teile zwischen "kleiner als" und "größer als" Zeichen eingeschlossen. Dabei folgt dem "kleiner als" Zeichen ein Wort, das die Funktion beschreibt, z.B. "font" um für den folgenden Text die Schriftart zu ändern. Danach folgen eventuell nötige Attribute, z.B. "size=.." für die Größe der Schrift. Abschließend wird mit dem "größer als" Zeichen das Ende markiert. Dies ist in HTML ein "Tag". So ist "<font size=4> der vollständige Tag für eine Änderung der Schriftgröße. Da die meisten Tags nur einen bestimmten Abschnitt im Dokument beeinflussen sollen, gibt es die Endtags für die Markierung des Endes des jeweiligen Abschnittes. Sie sind fast genauso aufgebaut wie die Tags, nur zwischen dem "kleiner als" und dem Wort wird noch ein Schrägstrich eingefügt und es sind keine Attribute notwendig. So wird mit "</font> die ursprüngliche Schrift wiederhergestellt.

Das gesamte Dokument gliedert sich in zwei Teile: den Kopf und den Rumpf. Beide Teile werden mit jeweils einem eigenen Tag ("<head>" für den Kopf und "<body>" für den Rumpf) markiert und mit dem entsprechenden Endtag ("</head> und "</body>) wieder abgeschlossen. Im Kopf wird die Art des Dokuments beschrieben, so sind neben dem Titel des Dokumentes auch Informationen über den Autor möglich. Der Rumpf enthält den eigentlichen Inhalt der HTML-Seite. Hier ein Beispiel für eine einfache HTML-Seite:

HTML-Datei angezeigter Text Kommentar
<html>   Beginn der HTML-Datei
<head>   Beginn des Kopfes
<title>Hello World</title>   Angabe des Titels
</head>   Ende des Kopfes
<body>   Beginn des Rumpfes
Hello

<font size=4>

World

<font>

!

Hello World! Text: Hello

Schriftgröße = 4

Text: World

Schriftgröße normal

Text: !

</body>   Ende des Rumpfes
</html>   Ende der HTML-Datei

In die Seite können Verweise zu anderen HTML-Seiten aufgenommen werden. Diese Verweise werden Links genannt und mit dem Tag "<a>" gekennzeichnet. Diese Links kann der Leser der HTML-Seite anwählen und bekommt dann die andere Seite angezeigt. Damit ist es dem Leser möglich, schnell zu den gewünschten Texten zu gelangen oder weitere Information zu erhalten. Der Eintrag "href" in dem Tag "<a>" gibt dazu die Adresse der Seite an. Die Adresse besteht aus drei Teilen:

  1. dem Protokoll,
  2. der Domain
  3. dem Pfad und dem Dateinamen.

Das Protokoll definiert das Übertragungsverfahren. Für Links zu anderen HTML-Seiten ist dies "http://". Es ist aber auch möglich in einer HTML-Seite einen Link mit einem anderen Protokoll zu benutzen, so kann ein Link mit dem Protokoll "ftp://" eine Datei zu dem Rechner des Lesers laden.

Mit der Domain wird der Rechner angegeben, auf dem sich die Datei befindet. Die Domain wird durch Punkte in mehrere Teile unterteilt. Der rechte Teil ordnet den Rechner einem bestimmten Land (de = Deutschland) oder einer Kategorie (com = kommerzieller Rechner) zu. Danach folgen von rechts nach links immer weitere Verfeinerungen.

Der Pfad und der Dateiname geben an, wo sich die Datei auf dem spezifizierten Rechner befindet. Die Pfadangabe erfolgt im Unixformat, d.h. mit "/" als Trennzeichen zwischen Verzeichnissen. Der Dateiname kann mit einem "#" noch um einen Verweis zu einem speziellen Abschnitt auf der Seite ergänzt werden. Dies kann bei größeren Dateien, die nicht komplett auf einem Bildschirm dargestellt werden können, sinnvoll sein. In diesem Fall zeigt der Browser den spezifizierten Abschnitt auf dem Bildschirm an.

Bei einer Adresse können aber auch Teile fehlen. In diesem Fall werden diese Teile durch Standardvorgaben ersetzt. So wird beim Weglassen der Domain, die Adresse um die Domain der Ausgangsseite erweitert. Die Pfadangaben können auch relativ sein. Damit ist es möglich, bestehende Angebote leicht zu verschieben.

Angezeigt werden die HTML-Seiten mit speziellen Programmen, den Browsern. Dabei interpretieren die Browser alle Tags etwas unterschiedlich, so daß in unterschiedlichen Browsern auch die Texte unterschiedlich dargestellt werden.

Die Möglichkeiten bei der Gestaltung mit HTML

Da HTML eine Seitenbeschreibungssprache ist, enthält sie viele Formatierungsbefehle für Absätze und für Zeichen. Absätze in HTML werden mit automatischem Zeilenumbruch geschrieben, erst der Tag "<br>" bewirkt den Beginn eines neuen Absatzes und erzwingt einen Zeilenumbruch. Man kann den automatischen Zeilenumbruch aber auch unterbinden. Die Absätze lassen sich auch als Überschriften kennzeichnen und bekommen so ein vorgegebenes Format. Durch weitere Befehle lassen sich die Absätze genauer plazieren, z.B. zentrieren. Diese Befehle sind jedoch stark eingeschränkt, da der Text auf unterschiedlichen Computern darstellbar sein soll und zum Beispiel keine Vorgaben über die Zeilenbreite bestehen. Will man eine kompliziertere Anordnung des Textes, muß man auf Tabellen zurückgreifen.

Für die Formatierung der Zeichen sind ebenfalls Tags vorhanden. Dabei muß man zwischen der logischen und der typografischen Formatierung unterscheiden. Die logische Formatierung ist für bestimmte Textteile bestimmt, z.B. Zitate. Diese Formatierung wurde für nicht grafikfähige Browser definiert. Jeder Browser kann die so markierten Textteile seinen Möglichkeit entsprechend hervorheben. Die neueren Browser sind grafikfähig und können alle Formatierungen durchführen, also auch alle typografischen Formatierungen, die ältere Browser eventuell nicht darstellen können. Die typografischen Formatierungen sehen zum Beispiel Kursiv und Fettschrift vor.

In HTML-Seiten können auch Grafiken enthalten sein. Das Einbinden der Grafiken geschieht mit dem Tag "<img>". Dieser gibt die Adresse der Grafik an, von dieser Adresse lädt der Browser dann die Grafik, um diese anzuzeigen. Es sollten nur Grafiken in den im Internet üblichen Formaten GIF oder JEPG benutzt werden, da nur bei diesen Formaten sichergestellt ist, daß alle Browser diese darstellen können.

Ab den Netscape Browsern 2.x und standardisiert ab der HTML-Version 3.2 können die Browser Frames darstellen. Mit diesen Frames läßt sich der Bildschirm aufteilen. Der Browser stellt in jedem dieser Teile eine eigene HTML-Seite dar. Damit ist es möglich bestimmte Informationen, z.B. Titel einer Seite oder ein Inhaltsverzeichnis, immer auf dem Bildschirm darzustellen, während der Leser in anderen Teilen scrollen kann. Um dem Browser mitzuteilen, daß der Bildschirm in mehrere Frames unterteilt ist, wird auf einer darzustellenden Seite kein Abschnitt mit dem Tag "<body>" erstellt, sondern mit den Tags "<frameset>" und "<frame>" der Bildschirm unterteilt. Dabei gibt der Tag "<frameset>" an, wie der Browser den Bildschirm in Frames unterteilen soll (horizontal oder vertikal und die Größen der Teile). Einzelne Frames können durch weitere Tags "<frameset>" weiter unterteilt werden. Der Tag "<frame>" gibt an, welche Seite der Browser in einem Frame darstellen soll. Gleichzeitig bekommt damit jeder Frame einen Namen. Dieser Name kann bei einem Link verwendet werden, um die Seite des Links in einem bestimmten Frame darzustellen. Wird ein noch nicht definierter Name bei einem Link benutzt, wird ein neuer Browser geöffnet, der die Seite darstellt.

Mit HTML ist es auch möglich, Formulare zu definieren. In diesen Formularen kann der Benutzer in Textfeldern oder in Auswahlmenüs Daten eingeben. Nach der Eingabe können diese Daten an den Anbieter geschickt werden und so eine Kommunikation zwischen Benutzer und Anbieter ermöglichen.

Mit Javascript kann der Browser diese Eingaben auch direkt verarbeiten. Javascript ist eine Programmiersprache, die die Browser von Netscape und Microsoft unterstützen und somit auf fast allen Computern verfügbar sind . Mit dieser Sprache können Daten aus den Formularen verarbeitet werden und für die dynamische Generierung von HTML-Seiten genutzt werden. Die Frames können ebenfalls mit Javascript besser genutzt werden. So läßt sich mit einem einfachen Link nur ein Frame verändern. Ein Javascriptprogramm, dessen Aufruf statt eines Links möglich ist, kann mehrere Frames verändern.

3.1.2 Schematext

Mit der Seitenbeschreibungssprache HTLM lassen sich einfach Seiten mit unterschiedlichem Layout erstellen. Bei dieser Erstellung treten aber schnell Probleme auf, wenn mehrere Seiten ein einheitliches Layout besitzen sollen, zum Beispiel einen bestimmten Kopf. In diesem Fall müssen meist große Teile der HTML-Seiten ähnlich sein, so der komplette Teil, der den Kopf definiert. Dies kann bei den meisten HTML-Editoren nur durch Kopieren von Textteilen erreicht werden. In vielen Fällen ist noch eine Anpassung der Textteile erforderlich (z.B. andere Linkziele oder ein anderer Titel im Kopf), so daß der Aufwand für die Erstellung der Seiten sehr groß ist.

Insbesondere die Nutzung von Frames (vgl. Kapitel 3.1.1) führt zu Problemen. Da für diese eine Seite für den Frameaufbau und zusätzlich jeweils eine Seite für die einzelnen Frames benötigt werden. Die Seite mit dem Frameaufbau ist für alle Seiten mit einem Layout fast identisch, Änderungen sind nur bei den Namen der Seiten und den Linkzielen erforderlich. Einige Seiten für einen bestimmten Frame können ebenfalls nahezu identisch sein, so zum Beispiel die Seiten für den Kopf-Frame, in dem nur der Titel der Seite anders ist.

Mit dem Programm Schematext wird dieses Problem vermieden, indem das Programm Teile der Seiten automatisch generiert. Da das Programm sehr komplex ist, bietet dieses Kapitel nur einen Überblick über die Funktionen von Schematext.

Der Aufbau von Schematext

Durch Konfiguration von Schematext läßt sich erreichen, daß Schematext viele Seiten automatisch generiert. Schematext unterscheidet dazu zwischen dem Layout einer Seite und dem Inhalt einer Seite. Diese Trennung ermöglicht eine wesentliche Arbeitsersparnis. Denn das Layout von mehreren Seiten ist gleich, so daß die Definition des Layouts wiederverwendet werden kann. Für die Erstellung einer Seite muß der Autor dann nur noch den Inhalt eingeben. Für die Definition des Layouts der Seiten steht der Schemaeditor zur Verfügung. In diesem Editor werden Knotentypen angelegt, die das Layout der Seiten festlegen. Das Layout dieser Knotentypen läßt sich im Expander Editor festlegen.

Der Expander Editor wird mit der Sprache Scheme programmiert. Wenn Schematext eine Seite generiert, dann ruft Schematext die Funktion "generate" auf. Diese Funktion ruft dann weitere Funktionen auf, die jeweils für einen kleineren Teil (z.B. Kopf, Rumpf und Fußteil) der Seite zuständig sind. Diese Funktionen können dann noch weitere Funktionen aufrufen. Mit der Funktion "emit" werden Texte in die Ausgabe-HTML-Seite geschrieben. Diese Struktur ermöglicht es, HTML-Tags oder Texte direkt in die Seite zu schreiben. Durch einige Funktionen können auch spezielle Informationen über die Seite abgerufen werden. So dient die Funktion "name" zur Ermittlung des Namens der Seite. Dieser Name kann dann im Kopf als Titel Verwendung finden. Durch das Hinzufügen von HTML-Tags läßt sich dann die Schriftart des Titels festlegen.

Da die Funktionen alle geändert werden können, lassen sich gezielt bestimmte Teile ändern. Dabei können bei Änderungen durch gezielte Auswahl einer Funktion im Aufrufbaum viele bestehende Teile genutzt werden und somit läßt sich viel Arbeit sparen.

Schematext hilft auch beim Erstellen von Links. In vielen Fällen treten in HTML-Seiten Links in Listenform auf. Diese Listen lassen sich mit Schematext ebenfalls einfach ohne viel Arbeit erstellen. Der Anwender zieht im Struktur Editor einfach eine Linie zwischen zwei Knoten für einen Link in der Liste. Schematext kann weitere Links automatisch generieren, zum Beispiel kann Schematext Links zur Homepage erstellen. Außerdem werden zusätzliche Links zur Navigation von Schematext generiert. In vielen Fällen ist es sinnvoll, daß ein Leser einfach zur vorherigen und zur nächsten Seite einer Folge von Seiten springen kann. Diese Links von Hand zu erstellen ist aufwendig, da auf jeder Seite andere Links erzeugt werden müssen. Schematext kann diese Links automatisch erstellen.

Das Aussehen der Links kann festgelegt werden, dazu dient der Schema Expander, in dem Linktypen das Aussehen von Links bestimmen. Ein Linktyp verbindet zwei Knotentypen. Über Scheme-Funktionen kann dann das Aussehen der aus den Linktypen erzeugten Links definiert werden. Deshalb kann es auch sinnvoll sein zwischen zwei Knotentypen mehrere unterschiedliche Linktypen einzurichten, denn somit sind Links mit unterschiedlichem Aussehen zwischen den Knoten möglich. Schematext bietet zusätzliche Schalter für das Einstellen von Navigationslinks, mit denen später der Leser schnell zu verwandten Themen kommt.

Die Knotentypen dienen dann zur Erzeugung von Knoten im Struktur Editor, die den eigentlichen Inhalt der Seiten aufnehmen. Dabei bestimmen Scheme-Funktionen des Knotentyps das Layout des Knotens. Damit ist das Layout von vielen Seiten einheitlich. Die Funktionen des Knotentyps können in einzelnen Knoten überschrieben werden, um so spezielle Anpassungen vornehmen zu können. Schematext erzeugt die HTML-Links zwischen den Knoten aus Links, die von den Linktypen abgeleitet werden. Es ist nur möglich einen Link zwischen zwei Knoten zu erstellen, wenn der Linktyp die Knotentypen der Knoten verbindet. Damit ist gewährleistet, daß zwischen den Knoten eine wohlgeordnete Struktur entsteht.

Die HTML-Links, die Schematext erzeugt, können nur Knoten als Ziel haben. Damit auch Linkziele innerhalb einer Seite definiert werden können, besteht in Schematext die Möglichkeit, in einem Knoten mehrere andere Knoten zu integrieren. Dies wird durch Einstellungen bei den Linktypen erreicht. Unterknotentypen dienen zur Definition weiterer Strukturen. Diese Unterknotentypen werden als Teile von Knotentypen erzeugt. Die aus dem Knotentyp erzeugten Knoten besitzen dann die gleichen Unterknoten. Dadurch kann für bestimmte Seiten eine einheitliche Unterteilung vorgenommen werden, z.B. Abschnitte für die Beschreibung eines Problems, den Kontext und die Lösung des Problems.

Das Eingeben von Texten in Schematext

Ein einheitliches Layout reicht für mehrere HTML-Seiten nicht aus. Zu jeder HTML-Seite gehört auch ein variabler Textteil. Zur Eingabe dieses Textes existiert in Schematext ein Editor, in dem zu jedem Knoten ein Text eingegeben werden kann. In diesen Text können dann auch einfach Links eingebunden werden, wenn eine Listendarstellung, wie sie Schematext normalerweise erzeugt, nicht sinnvoll ist. Im Kontextmenü ist für eine einfache Auswahl der Links eine Liste mit allen Links dieses Knoten vorhanden.

In den Texten müssen jedoch auch HTML-Tags eingefügt werden, so zum Beispiel ein Tag für das Ändern der Textfarbe oder für eine Listendarstellung. Die dafür notwendigen Tags können zwar einfach über eine Menüleiste eingegeben werden, der Schematext Editor fügt diese Tags als Klartext in den Text ein und zeigt die so markierten Texte nicht entsprechend an. Mit dieser Darstellungsweise kann das spätere Aussehen des Textes nicht erkannt werden, somit ist eine Bearbeitung schwierig. Mit dem Programm Microsoft Word, das über OLE angebunden ist, besteht dieses Problem nicht. Microsoft Word stellt die HTML-Seiten WYSIWYG dar. Damit die Schnittstelle funktioniert, ist eine Ergänzung vom Microsoft Word mit dem Internet Assistent für Word notwendig.

Die Nutzung von Frames mit Schematext

Da Frames den Bildaufbau verbessern, muß die Generierung von Seiten mit Frames einfach und ohne viel Aufwand möglich sein. Durch die automatische Generierung von Seiten mit Schematext sollte es auch möglich sein, Frames einfach zu erzeugen.

In Schematext sind dafür auch einige Funktionen vorgesehen. Bei den Linktypen können die Frames angegeben werden, in denen der Browser nach der Generierung der Seiten die folgende Seite darstellen soll. Für die Erstellung von Frames sind spezielle Tags vorhanden, die Schematext dann bei der Generierung der HTML-Seiten umwandelt. In einem Beispiel erklärt Schematext auch die Nutzung dieser Tags.

  1. Einen Knotentyp und für jeden Frame ein Unterknotentyp erstellen.
  2. Aus diesem Knotentyp dann Knoten erstellen.
  3. Die Framestruktur mit den neuen Tags in den Knoten eingeben.
  4. In diese Struktur die Knotennummer der Unterknoten eintragen.

Diese Möglichkeit der Nutzung von Frames wäre jedoch sehr aufwendig, weil in jedem Knoten die Knotennummer der Unterknoten (die unterstrichenen Zahlen) zu ermitteln und einzutragen ist:

<FRAMESET COLS="25%,*">
  <HsdlFrame SCROLLING=AUTO NAME="Index" ID=:NO-2729> 
  <HsdlFrame SCROLLING=AUTO NAME="Main" ID=:NO-2730>
</FRAMESET>

Aus diesem Grund habe ich eine andere Lösung gesucht. Ziel war es, die für die Generierung nötigen Daten nur im Knotentyp und somit für alle Seiten mit dem Layout nur einmal einzugeben. Dabei dienen die Unterknotentypen, wie bei dem Beispiel von Schematext, zur Aufnahme der Framedaten. Sonst weicht das Vorgehen jedoch stark ab.

  1. Einen Knotentyp und für jeden Frame ein Unterknotentyp erstellen.
  2. Die Funktion "Generate" des Knotentypen umschreiben.
  3. Im Schema Expander die Funktionen für die Framegröße ("Frame-Definition") und für weitere Einstellungen ("Frame-Parameter") zum Knotentyp hinzufügen.
  4. Knoten aus dem Knotentyp erzeugen.

In dieser Lösung werden nur die Knotentypen geändert. Somit erfolgt die Eingabe der notwendigen Daten nur einmal für alle Knoten. Dies bedeutet eine erhebliche Arbeitsersparnis.

Die geänderte Funktion "Generate" erzeugt in den Knotentypen die Frames, statt den üblichen Rumpf mit Text und Links zu erzeugen. Die erzeugten Links zu den Unterknoten in den Knoten werden nicht mehr für die Erzeugung genutzt, sie dienen zur Einbindung der Frameseiten. Das Umschreiben der Funktion "Generate" ist auch einfach möglich, da sie nach der einmaligen Erstellung von einem Knotentyp zum nächsten Knotentyp kopiert werden kann.

3.1.3 SED

SED ist ein Programm, daß vom UNIX-Betriebsystem nach Windows portiert wurde. Es dient zur automatischen Bearbeitung von Texten. Diese Texte werden, wie in UNIX üblich, als Stream übergeben und nach der Bearbeitung in einen Ausgabestream geschrieben.

Die Bearbeitung kann durch Parameter auf eine, mehrere oder alle Zeilen beschränkt werden. In den Zeilen sucht SED nach Texten. Reguläre Ausdrücke beschreiben diese Texte. Nach dem Finden des vorgegeben Texts, löscht SED diesen oder ersetzt den Ausdruck durch einen neuen Text. Der Text, den SED ersetzen soll, wird dem Programm über Parameter übergeben. SED kann mit einem Programmaufruf nach mehreren Texten suchen. Die notwendigen Parameter bekommt SED dann durch eine Datei übergebenen, die die Parameter für das Ersetzen enthält. In dieser Datei stehen dann alle benötigten Befehle.

Ein Kommando für SED hat das Format:

[address1[,address2]][function][arguments]

Dabei geben die optionalen Parameter address1 und addess2 die Zeilen an, auf die die Funktion angewendet werden soll. Durch Weglassen der Parameter kann der komplette Text bearbeitet werden.

SED kann in den übergebenen Daten nach Textteilen suchen und diese durch neue Texte ersetzen. Da SED zeilenweise arbeitet, ist es möglich, diese Ersetzungen nur in bestimmten Zeilen vorzunehmen oder auch komplette Zeilen zu löschen.

Für das Ersetzen von Textteilen ist der Befehl s (substitute) zuständig mit dem Format:

s/regular_expression_pattern/replacement_string/flag

Wobei vor dem "s" die Zeilennummer für die Bearbeitung stehen. Das Trennzeichen, in der Formatzeile "/", ist frei wählbar. Dieses Zeichen darf im "regular_expression_pattern" oder "replacement_string" nicht vorkommen. SED nimmt als Trennzeichen immer das dem "s" folgende Zeichen. Der "regular_expression_pattern" kann ein einfacher Text sein, der gesucht werden soll. Es ist aber auch möglich, einen Regulären Ausdruck zu benutzen. Für den Aufbau der Regulären Ausdrücke stehen die folgenden Teilausdrücke zur Verfügung:

[abc] oder: An dieser Stelle kann ein "a", ein "b" oder ein "c" stehen.

[a-d] Bereich: An dieser Stelle kann ein Zeichen aus dem angegebenen Bereich stehen.

\[abc\] Wort: Die Zeichenfolge "abc" muß als einzelnes Wort im Text stehen. Das heißt, es muß zwischen Leerzeichen, Zeilenumbruch, Satzzeichen usw. stehen. Dabei können die "\[" oder "\]" auch einzeln benutzt werden. Bei einem Ausdruck "abc\]" muß nur hinter dem "abc" ein Leerzeichen oder ähnliches stehen.

[^exp] nicht: Der angegebene Reguläre Teilausdruck ist nicht Teil des gesuchten Ausdruckes.

* mehrfach: Das vorhergehende Zeichen bzw. der vorhergehende Teilausdruck kann beliebig oft (auch null mal) vorkommen.

Der "replacement_string" wird anstelle des "regular_expression_pattern" in den Text eingefügt. Dabei ist es möglich, den gefundenen "regular_expression_pattern" durch ein "&" zu ersetzen. Dies ist nötig, da ja ein Regulärer Ausdruck für unterschiedliche Zeichenfolgen stehen kann.

Als Parameter für den "flag" stehen

d zum Löschen der Zeichenfolge und

p zum Ausdrucken der Zeile bei dem Kommando "-n"

zur Verfügung.

Die Kommandos für SED können direkt als Parameter übergeben werden. Dabei bewirkt

-e , daß SED die Veränderungen aufgrund des s-Befehls in den Ausgabestream schreibt.

-n , daß SED nur die Zeilen ausgibt, die der Flag "p" spezifiziert.

3.1.4 Microsoft Word 95 mit Internet Assistent

Hier beschreibe ich nur die Erweiterung von Microsoft Word 95, da folgende Version Word 97 zu Beginn der Arbeit noch viele Fehler hatte und somit ungeeignet war. Word 97 mit Internet Assistent unterstützt aber mehr Funktionen.

Das Textverarbeitungssystem Word 95 von Microsoft läßt sich durch den Internet Assistent erweitern. Es ist dann in der Lage, auch HTLM-Seiten zu bearbeiten. Die Bearbeitung erfolgt WYSIWYG, das heißt, daß Word die Dokumente bei der Eingabe so darstellt, wie die HTML-Browser sie später auch darstellen.

Für die Eingabe von HTML-Seiten stellt der Internet Assistent neue Formatvorlagen zur Verfügung. Diese decken alle wichtigen HTML-Tags ab. Um eine bestimmte Formatierung mit einem HTML-Tag zu erreichen, muß der Textabschnitt mit der entsprechenden Formatvorlage formatiert werden.

Die Links lassen sich über einen erweiterten Menüpunkt eingeben. Dann fügt Word eine Feldfunktion in den Text ein. Über einen Menüpunkt können die Feldfunktionen angezeigt werden, so daß Word dann den Text nicht mehr WYSIWYG darstellt. Wenn Word diese Feldfunktion anzeigt, können sie auch erweitert werden, um spezielle erweiterte Funktionen der Links einzugeben. Die Formatierung innerhalb der Feldfunktion weicht jedoch stark von einem HTML-Tag ab, so daß die Eingabe schwer ist.

Einige Möglichkeiten von HTML lassen sich mit Word nicht nutzen. So lassen sich keine Frames erstellen. Probleme treten auch bei Grafiken auf. In HTML ist es möglich, daß von Teilbereichen einer Grafik Links ausgehen. Für diese Möglichkeit ist in Word keine Eingabefunktion vorgesehen.

Für die Nutzung von Word als Editor spricht die direkte Schnittstelle zwischen Schematext und Word. Von Schematext läßt sich Word mit der zu bearbeitenden Seite aufrufen. Nach Beenden von Word stehen die Änderungen direkt in Schematext zur Verfügung. Dem stehen jedoch einige Nachteile gegenüber. So ist es problematisch, daß in den Grafiken keine sensitiven Bereiche mit Links sein können. Außerdem ist die Erweiterung von den HTML-Tags über die Änderung der Feldfunktionen schwierig. Die Darstellung des HTML-Textes ist zwar im wesentlichen WYSIWYG, jedoch weicht die Interpretation der einzelnen Tags von den der Browser zum Teil ab.

3.1.5 FrontPage Editor

Der FrontPage Editor von Microsoft ist ein spezieller Editor für HTML-Seiten. Die Eingabe erfolgt wie bei Word WYSIWYG. Da der Editor speziell für die Eingabe von HTML-Seiten gedacht ist, unterstützt er fast alle Funktionen von HTML.

Die Menüs sind ebenfalls angepaßt. Über zwei Auswahlmenüs können die unterschiedlichen Formate und die unterschiedlichen Schriften ausgewählt werden. Über Schalter können weitere Einstellungen vorgenommen werden, wie Schriftgröße oder Farbe. Für die speziellen Funktionen von HTML sind weitere Schalter vorhanden. So lassen sich leicht Links anlegen. Nach dem Betätigen dieser Schalter öffnet FrontPage ein Fenster, in dem die nötigen Eingaben vorgenommen werden können. Dabei bietet FrontPage wesentlich mehr Einstellungsmöglichkeiten als Word. So läßt sich zum Beispiel bei einem Link auch der Zielframe eingeben.

Aber auch für Funktionen, die FrontPage nicht vorsieht, gibt es Eingabemöglichkeiten. Zu allen Tags lassen sich zusätzliche Attribute hinzuzufügen. Die Auswirkungen der Attribute zeigt FrontPage jedoch nicht WYSIWYG an. Es können auch neue Tags, die der FrontPage Editor nicht unterstützt, direkt in den Text eingefügt werden. In diesem Fall zeigt der FrontPage Editor nur eine Markierung an.

FrontPage kann die HTML-Seite auch direkt mit den HTML-Tags anzeigen. In diesem Fenster sind dann auch die Textteile farblich markiert, so daß die HTML-Tags und die Attribute einfach erkannt werden können. Änderungen in diesem Fenster übernimmt FrontPage nach Bestätigung auch in die WYSIWYG-Darstellung.

Das Einfügen von Grafiken ist auch einfach möglich. Für die Grafiken können auch viele weitere Einstellungen vorgenommen werden, z.B. eine alternative Darstellungsweise, die der Browser beim Laden anzeigt, damit der Bildschirmaufbau später schneller ist. Für eine Grafik kann auch ein Link angegeben werden, das Ziel dieses Links zeigt der Browser nach dem Anklicken der Grafik an. Von einer Grafik braucht jedoch nicht nur ein Link ausgehen. Es ist möglich, von mehreren Teilen der Grafik jeweils einen Link zu erstellen. Dafür bietet FrontPage alle in HTML definierten Formen (Kreis, Rechteck und Vielecke) an. Diese Formen können einfach in der Grafik markiert werden und der FrontPage Editor ermittelt die entsprechenden Koordinaten.

Diese Bearbeitungsmöglichkeiten sind ein wesentlicher Vorteil des FrontPage Editors gegenüber Word. Vorteilhaft sind auch die Unterstützung von fast allen HTML-Tags und die Möglichkeit nicht unterstützte Tags und Attribute direkt einzugeben. Daß es keine direkte Anbindung des FrontPage Editors an Schematext gibt, ist ein Nachteil.

3.1.6 Rational Rose

In den frühen Softewareentwicklungsphasen werden Diagramme benutzt um die Zusammenhänge zu verdeutlichen. Aus diesem Grund sind Diagramme auch für die Dokumentation wichtig. Mit dem Programm Rational Rose von Rational Rose lassen sich Klassendiagramme, Use Cases, Interaktionsdiagramme und Zustandsdiagramme erstellen. Es wurde dieses Programm verwendet, weil es die Unified-Notation unterstützt. Diese Notation wurde als Standard definiert und wird in Zukunft von mehreren Entwicklungstools unterstützt. Momentan ist jedoch Rational Rose das einzige Programm, das diese Notation bietet. Wenn die anderen Entwicklungstools auch auf die Unified-Notation umgestellt sind, können auch diese genutzt werden.

3.1.7 Corel Draw

Corel Draw ist ein Zeichenprogramm von Corel Corporation. Neben den üblichen Funktionen zum Malen sind in Corel Draw weitere Funktionen enthalten. So gibt es die Funktion der Linse. Mit einer Linse läßt sich ein Teil der Grafik einfärben. Die Linse ist jedoch durchscheinend, so daß hinter der Linse liegende Objekte immer noch sichtbar sind. Liegen mehrere Linsen übereinander, ermittelt Corel Draw die endgültig angezeigte Farbe durch Farbsubtraktion.

Corel Draw hat zusätzlich Filter für den Export von Grafiken in die unterschiedlichen Grafikformate. Darunter sind auch die im Internet gebräuchlichen Formate GIF und JPEG, die alle HTML-Browser anzeigen können.

3.1.8 Visual C++

Visual C++ ist ein C++ Compiler von Microsoft. Dieser Compiler ist in eine Entwicklungsumgebung mit Texteditor und Debugger eingebunden. Die Entwicklungsumgebung habe ich benötigt, um einige kleine Programme für die Verknüpfung der unterschiedlichen Programme der Werkzeugumgebung zu schaffen.

Außerdem habe ich die Entwicklungsumgebung eingesetzt, um den Quelltext von dem Framework OSEFA zu analysieren. (Das Nachdokumentieren von OSEFA diente als Beispiel für die zu entwickelnde Werkzeugumgebung.)