[an error occurred while processing this directive]
| Services | Internet und Netzwerk | Arbeitsplätze | Schulung | Software | Publikationen | Search |
Wie sieht es nun aus, wenn der Computer textliche Daten verarbeiten soll? Eine heute weit verbreitete Methode der Textverarbeitung ist WYSIWYG = "What You See Is What You Get". Es handelt sich dabei um eine Layout-orientierte Methode, die einfach anzuwenden (Beispiel MacWrite), aber alles andere als EDV-mässig ist. Wohl ist der Umbruch des Textes immer schön sichtbar, aber die Bedeutung der Texteinheiten wird kaum eingefangen.
Ein SGML-kompatibles Textverarbeitungssystem verwendet das Konzept der elektronischen Datenverarbeitung. Jede Firma oder Organisation, die textliche Daten verarbeitet, kann von SGML-kompatiblen Anwendungen profitieren. Der Nutzen ergibt sich nicht nur bei der Texterfassung, -verarbeitung und der Publikation, sondern auch bei der Speicherung, Abfrage und Archivierung etc. Diese unterschiedlichen Dienste sollten miteinander kommunizieren können. Auch ausgeklügelte WYSIWYG-Systeme kranken daran, dass die Files nicht mit anderen Systemen ausgetauscht und nur für den ursprünglichen Zweck (z.B. Fotosatz) genutzt werden können.
SGML ist eine Methode, bei welcher die Struktur eines Dokuments maschinenlesbar ist und das Dokument daher leicht verarbeitet und ausgetauscht werden kann. Ein Datenrecord beschreibt in der EDV die Daten innerhalb der Datenelemente oder Felder; ähnlich sollte ein Textfile voll identifiziert werden können. Es müssen Typen von Dokumenten definiert werden, damit die Daten in den Textelementen verstanden werden können. Beispiele für Dokument-Typen:
Die maschinen-lesbare Form der Definition eines bestimmten Dokumenttyps nennt sich DTD (Document Type Description).
Jedes Element in einem elektronischen Textfile kann mittels sogenannter Markup-Tags, z.B. <para>, <head>, <table> identifiziert werden. Wenn das Computersystem ein Tag antrifft, identifiziert es den dazugehörenden Text und es weiss, wie der Text verarbeitet bzw. formatiert werden muss. Das Textelement kann als variabel langes Feld betrachtet werden. Entweder ist der Feldname explizit am Anfang des Elements spezifiziert oder er ergibt sich aus der Definition des Dokumenttyps (DTD). Das SGML-System kann einen Text mit Markup-Tags erst verarbeiten, nachdem es das DTD eingelesen hat.
Eine SGML-Anwendung dürfte langfristig zu Textdaten führen, die besser gepflegt sind. Die Daten können von verschiedenen Programmen verwendet werden, d.h. nicht nur für das Herstellen von Publikationen, sondern z.B. auch für Abfrage- oder Datenbank-Anwendungen. Für die meisten Firmen und Organisationen dürfte der grösste Vorteil aber darin liegen, dass die Files zwischen unterschiedlichen Systemen ausgetauscht werden können, z.B. zwischen Workstation und Grossanlage.
Eine Baumstruktur wie in Abbildung 1 kann die Struktur eines Dokuments nur ungenau wiedergeben.
DOC
|
-----------------------------------------------------------
| | |
Front Body Rear
Matter | Matter
| | |
---------- | --------------
| | | | |
Preface TOC Chapter Appendix Index
| |
Para Head
|
Para
Abb. 1: Struktur des Dokuments als Baumstruktur
Mit einem SGML DTD (und einigen anderen formalen Konstrukten) wird die Dokument-Struktur wie in Abbildung 2 spezifiziert.
<!DOCTYPE Doc [
<!ELEMENT Doc (Front-Matter, Body, Rear-Matter)>
<!ELEMENT Front-Matter (Preface, TOC)>
<!ELEMENT Preface (para)>
<!ELEMENT Para (#PCDATA)>
...
...
...
]>
Abb. 2: Struktur des Dokuments als Document Type Description (DTD)
Das Beispiel sagt aus, dass sich das Dokument DOC aus Vorderteil, Hauptteil und Hinterteil zusammensetzt. Der Vorderteil enthält das Vorwort, gefolgt vom Inhaltsverzeichnis (= Table Of Content). Das Vorwort enthält seinerseits einen Paragraphen. #PCDATA sagt aus, dass ein Paragraph nur aus einzelnen Druckzeichen besteht, und weder aus anderen Elementen noch aus Graphikdaten etc. Zusätzlich zu den formalen Konstrukten im Beispiel (Abb. 2) kennt eine Document Type Description sogenannte Minimization Rules, sowie Occurence Indicators und Group Connectors. Beispiel:
<!ELEMENT HTML O O ( HEAD | BODY )>Die Minimization Rules "O O" bedeuten, dass sowohl Start- als auch End-Tag fehlen dürfen. Die Group Connectors spezifizieren, aus welchen Komponenten ein Element zusammengesetzt ist:
<!ELEMENT table - - (caption?, tr+)> <!ELEMENT tr - O (th|td)*> <!ELEMENT (th|td) - O %body.content> ...Praktiker weisen darauf hin, dass das Erstellen eigener DTDs ziemlich kostspielig ist.
Das Verzeichnis der Markup-Tags und das DTD (Document Type Description) sind nur zwei Teile einer SGML-Anwendung. Was braucht es sonst noch? Abbildung 3 zeigt, wie SGML mit den anderen Schichten des "Document Processing" in Beziehung steht.
Text-Inhalt und Markup-Tags DTD (Document Type Description) ------------------------------------------------------------------------ obere Schicht: SGML-Prozessor ------------------------------------------------------------------------ mittlere Schicht: Formatierprogramm ------------------------------------------------------------------------ untere Schicht: Druckertreiber, Seitenbeschreibungssprachen ------------------------------------------------------------------------Abb. 3: Die Schichten des Document Processing
Bis jetzt noch nicht erwähnt wurde der SGML-Prozessor; dieser gehört zur oberen Schicht des "Document Processing". Der SGML-Prozessor ist das Programm, welches die Tags abarbeitet. Es liefert den Input für das Formatierprogramm (formatter = mittlere Schicht), z.B. MS Word oder DCF von IBM. Die Druckertreiber (device driver) und die Seitenbeschreibungssprachen (page description languages) zählen zur unteren Schicht, vergleiche "Was ist PostScript?"
Der ISO-Standard ist eine recht abstrakte Angelegenheit. ISO 8879 sagt nichts darüber aus, ob der SGML-Prozessor ein integrierter Teil des Formatierprogramms oder ein separates Stück Software sei. Dies ist Sache der Implementation. Bereits bauen einige Software-Hersteller einen HTML-Generator in ihre Produkte ein. Wenn eine Organisation eine SGML-kompatible Lösung installieren will, muss sie zuerst einmal darüber Klarheit gewinnen, welche Dokument-Typen in der Organisation verwendet werden -- eine ganz und gar unspektakuläre Uebung!
Obige Ueberlegungen sind dem amerikanischen SGML Newsletter <TAG> entnommen. Mit Genehmigung der SGML Associates, 105A Carpenter Drive, Sterling, Virginia 22170, USA.
Zudem gibt es Parser-Programme, die ein SGML-Dokument auf dessen Syntax hin überprüfen -- ausgehend von der entsprechenden "Document Type Description", z.B. HTML 3.2. Ein derartiges SGML-Dokument ist durch folgenden Kopf gekennzeichnet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
Ein bekannter SGML-Editor mit Syntax-Fähigkeit
ist HoTMetaL von
SoftQuad.
Hier ein Screen-Shot des HTML-Editors (im AIX):
HoTMetaL: die Anker (z.B. Links) sind durch die blaue Farbe gekennzeichnet. Bei HoTMetaL können nur Tags eingegeben werden, die im jeweiligen Kontext gültig sind.
Ein Hypertext- oder Hypermediadokument besteht im Grunde lediglich aus zwei unterschiedlichen Komponenten, den in sich inhaltlich abgeschlossenen Informationseinheiten (nodes) und ihren Verbindungsstrukturen (links). Im Konzept des World Wide Web werden
Learning HTML (pdf).
Last update: Tuesday, 26-Aug-2003 14:31:37 CEST by
vo