Text2Html --------- Überblick --------- Das TextTransformer-Projekt "Text2Html" dient zur automatischen Umformung reiner Textdateien in HTML-Dateien. Dabei ist es nicht nötig, spezielle Formatierungsanweisungen einzufügen. M a n s i e h t d e n T e x t e n n i c h t a n, d a s s s i e V o r l a g e n f ü r H T M L - D o k u m e n t e s i n d . Allein, die Leerzeichen in den Texten müssen sorgsam gesetzt sein: Textabschnitte müssen durch Leerzeilen getrennt sein und Tabellen müssen richtig eingerückt sein und - neu - mit Leerzeichen können versteckte Anweisungen codiert werden. Das Projekt ist eine Beispiels-Anwendung für den TextTransformer und erhebt nicht den Anspruch alle möglichen Texte korrekt zu behandeln. Insbesondere kann es sein, dass unvollständige, eingerückte und verschachtelte Strukturen nicht erkannt werden. Für gängige Texte ist das Projekt aber durchaus zu verwenden. So wurden sämtliche Seiten dieser Homepage mit ihm erstellt. Individuelle Anpassungen und Erweiterungen kann jeder mit dem TextTransformer-Programm vornehmen. Um dies zu erleichtern wird das Projekt im folgenden ausführlich erläutert. - Zunächst folgt eine allgemein verständliche Darstellung der Analyse der Text-Dokumente - Dann folgt ein speziellerer Teil, in dem auf die technischen Einzelheiten eingegangen wird. Das Projekt kann hier herunter geladen werden: Text2Html.ttp Die Textvorlage für diese HTML-Seite ist: Text2Html.txt Reiner Text ----------- Reine Textdateien, zumeist im ASCII- oder ANSI-Zeichensatz, sind die wohl nach wie vor verbreiteste Art Texte abzuspeichern. Auf dem Bildschirm angezeigt sehen sie aus wie Texte, die mit einer Schreibmaschine getippt wurden. Das liegt daran, dass diese Dateien in binärer Form nichts weiter als die Buchstaben enthalten, die man auf einer Schreibmaschine tippen kann. Die reinen Textdateien enthalten keinerlei Anweisungen zur Verwendung verschiedener Schriftarten und -größen oder oder zum Zeichnen von Tabellen etc.. Zwar verfügt mittlerweile fast jeder Computerbenutzer über komplexe Textverarbeitungs-Software, die die Text-Daten in ihren jeweiligen eigenen Formaten abspeichern. Gerade die Einfachheit und damit die Unabhängigkeit von der jeweils verwendeten Software sind aber der große Vorzug reiner Textdateien. Auch sind Texte einfacher und damit schneller zu schreiben, wenn man nicht auf die jeweilige Formatierung zu achten hat. HTML-Text --------- HTML ist das Dateiformat in dem Webseiten gespeichert sind. HTML-Seiten sehen schöner aus als reine Texte, da Überschriften fett und in mit einer größeren Schrift dargestellt werden, Listen eingerückt werden und um Tabellen Rahmen gezeichnet werden. Auch HTML-Dateien sind Textdateien. Sie enthalten jedoch neben den reinen Textdaten Anweisungen zur Formatierung des Textes. Umwandlung von reinen Textdateien in HTML-Text ---------------------------------------------- Die Umwandlung eines Textes in ein HTML-Dokument ist relativ einfach, wenn der Text mit einer Textverarbeitungs-Software erstellt wurde: es müssen nur die Formatierungsanweisungen des Originaltextes adäquat übernommen werden. Bei der Umwandlung von reinen Textdateien in HTML-Text steht man jedoch vor dem Problem, dass der Originaltext keinerlei explizite Angaben zu Formatierung enthält. Für dieses Problem gibt es im Prinzip drei Lösungen: 1. Man fügt dem Originaltext spezielle Syntaxelemente hinzu, die das Umwandlungsprogramm instruieren, wie die HTML-Seite auszusehen habe. Dies Vorgehen kann insofern sinnvoll sein, als das dadurch die komplexen Möglichkeiten, die HTML bietet, auf eine vereinfachte Syntax reduziert werden könnten, die für die individuellen Zwecke ausreicht. Die Wikipedia ist ein Beispiel hierfür (siehe Wikipedia.html). Jedoch hätte man dann diese neue Syntax zu lernen, man wäre an sie gebunden und man würde damit das Original-Dokument verunstalten. Das ist nicht Ziel dieses Projekts. (Eine Ausnahme hiervon sind die versteckten Anweisungen s.u.) 2. Man erstellt ein HTML-Dokument als einfaches Abbild des Originaltextes. d.h. ohne Formatierungen. Das ist immerhin schon ein erster Ansatz. Tatsächlich lassen sich Text-Dateien oftmals im Browser direkt anzeigen, ohne dass irgendwelche Manipulationen vorgenommen werden müssten. Wer es besser machen möchte und sich schon einmal den Original-Code einer HTML-Seite angesehen hat, könnte meinen, hierfür müsse lediglich der Original-Text in die (Tag-) Paare: und
eingeschlossen werden: .. Original-Text Speichert man den neuen Text dann mit dem Extender ".html" statt ".txt" ab und lädt ihn in einen Browser, so wird man allerdings bemerken, dass hierbei alle Zeilenumbrüche verloren gegangen sind, und dass immer nur das erste einer Reihe von Leerzeichen angezeigt wird. Außerdem ist nicht sicher gestellt, dass Sonderzeichen richtig dargestellt werden und die Zeichen, durch die HTML-Tags definiert werden, bringen die Textanzeige völlig durcheinander. Dennoch bildet diese Möglichkeit das Grundgerüst für den HTML-Konverter unter Punkt 3. 3. Man entwickelt ein Schema, wie aus dem Aufbau und Inhalt des Originaltextes eine Formatierung des Textes abzuleiten ist. Dies ist das Verfahren, dass im Text2Html-Projekt angewandt werden soll. Nur im Fall, dass keine Formatierung ableitbar ist, soll der Text wie unter Punkt 2 skizziert im möglichst originaler Form dargestellt werden. Wie aber soll die Formatierung aus dem Text ableitbar sein? Die Antwort ist unter Punkt 3 schon angedeutet: aus Aufbau und Inhalt. Text-Aufbau ----------- Den Aufbau eines Textes erkennt man am besten, wenn man ihn aus einem Abstand betrachtet, in dem man ihn nicht mehr lesen kann. Die Struktur ergibt sich gerade aus dem, was nicht Text ist: aus seinen Lücken. Lücken entstehen durch Zeilenumbrüche, Leerzeilen, Leerzeichen und Tabulatoren. Das Text2Html-Projekt nimmt zunächst die gleiche Perspektive ein. Ein Text soll derart in ein HTML-Dokument umgewandelt werden, dass die geschilderte Struktur nicht nur erhalten bleibt, sondern verstärkt wird. Eine Kapitelüberschrift soll etwas größer als der übrige Text und in Fettschrift dargestellt werden und das regelmäßige Muster einer Auflistung oder Tabelle soll durch zusätzliche Markierungen oder Linien akzentuiert werden. Text-Inhalt ----------- Ein zweites Kriterium für die Verwendung bestimmter HTML-Elemente ergibt sich aus einer näheren Betrachtung des Textes selbst. Z.B. die Unterstreichung von Links auf einer HTML-Seite und die Möglichkeit, durch Anklicken eines Links auf eine andere Seite zu gelangen, wird in HTML dadurch realisiert, dass der Ausdruck: " Original-Text