© Ozz Design/Shutterstock.com
Die ideale Welt der Textverarbeitung mit Textprozessoren

Der programmierte Textversteher


Die Darstellung von selbst erstellten, formatierten Texten auf Webseiten birgt einige Tücken, vor allem im Hinblick auf Sicherheitsrisiken. Aber auch bei der Frage der Portierbarkeit stößt man auf einige Einschränkungen. Betrachten wir einmal die etablierten Standards, um einige Überlegungen zu einer idealen Welt der Textbearbeitung und dem Formatieren von Inhalten anzustellen.

Einer der bekanntesten und damit auch verbreitetsten WYSIWYG-Texteditoren im World Wide Web ist CKEditor, der nach eigenen Angaben um die 20 000 Anwender zählt. Auf der Homepage [1] findet sich die aktuelle Version zum Download sowie eine umfangreiche Dokumentation. Die hohe Beliebtheit verdankt die Bibliothek ihrem großen Funktionsumfang und den vielen Anpassungsmöglichkeiten an eigene Bedürfnisse. Auch ist die Liste der verfügbaren Textprozessoren, mit denen der CKEditor den eingegebenen Text formatieren kann, sehr umfangreich. Codierungen wie BBCode, WikiSyntax und viele mehr sind auswählbar. Bevor wir uns allerdings weiteren Details zuwenden, wollen wir zuerst einige Überlegungen allgemeiner Art anstellen.

Formatierungen arbeiten auf Basis einer Auszeichnungssprache, der sogenannten Markup Language. So werden für den entsprechenden Textbereich der Anfang und das Ende der Formatierung gekennzeichnet. Bei HTML ist es nicht anders, auch hier werden die Textbereiche entsprechend ihrer semantischen Bedeutung in sogenannte Tags eingeschlossen. Möchte man einen abgegrenzten Bereich beispielsweise farblich hervorheben, kann man sich des Tags <font> bedienen, das anhand seiner Attribute Farbe, Schriftgröße und Schriftart definiert. Aber auch das Attribute Style, das nahezu in jedem Tag erlaubt ist, gestattet zahlreiche optische Anpassungen. Es ist klar, dass stark formatierter Text den Quelltext enorm anwachsen lässt. Auch widerspricht dieser Ansatz der üblichen Forderung der Trennung von Programm und Darstellung, wie es in dem MVC-Entwurfsmuster beschrieben ist. Diese Überlegungen führten zu den Cascading Style Sheets, die es ermöglichen, das Layout vom Programm zu trennen. HTML dient in dieser Konstellation als reine Markierung (Selektoren) der zu formatierenden Bereiche, denen mittels CSS die gewünschte Darstellung zugewiesen wird. Eine sehr praktische Eigenschaft von CSS ist die Vererbungsfähigkeit der Selektoren, wie es das Cascading im Namen bereits suggeriert. Das führt bei korrekter und konsequenter Verwendung zu sehr kompaktem Sourcecode. Um das Bild abzurunden, sei der Vollständigkeit halber noch JavaScript erwähnt, das HTML um ein Aktionsmodell erweitert, das gestattet, Aktionen wie beispielsweise Manipulationen des Syntaxbaums auf die HTML-Struktur anzuwenden.

Strukturschwächen

Bei diesem kleinen Exkurs wird schnell deutlich, dass die Speicherung von Texten zu einem komplizierten Unterfangen werden kann. Das trifft vor allem auf die mögliche spätere Portierbarkeit zu. Je komplexer ein Text formatiert wurde, umso schwieriger lässt er sich in einen anderen Standard transformieren. Die Konsequenz erleben wir zum Beispiel bei Vorhaben wie dem Tauschen der Dokumentationsplattform gegen ein neueres System. So lassen sich Inhalte aus dem MediaWiki nicht ohne Weiteres nach Confluence portieren. In vielen Fällen muss das Layout manuell korrigiert werden, obwohl es sich bei beiden Systemen um Wikis handelt. Daran zeigt sich,...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang