[an error occurred while processing this directive]
Informatikdienste
Services | Internet und Netzwerk | Arbeitsplätze | Schulung | Software | Publikationen | Search
  1. Standard Generalized Markup Language -- SGML
  2. Eine häufig gestellte Frage: HTML-Editor
  3. "Alles schreit nach Internet und World Wide Web"

1. Standard Generalized Markup Language -- SGML

Ich möchte die Internet-Surfer darauf aufmerksam machen, dass das Hypertext-Format des World Wide Web (HTML) nichts anderes als ein SGML-Format ist. Den "alten" SCRIPT-Benutzerinnen und GML-Benutzern dürfte einiges bekannt vorkommen.

EDV-MAESSIGE TEXTVERARBEITUNG

Zu Beginn der EDV-Geschichte hatte jeder Computer sein eigenes Betriebssystem und seine eigene Programmiersprache. Wenn man einen Computer eines anderen Herstellers kaufte, mussten alle Anwendungen neu programmiert werden. Aus diesem Grund wurde COBOL geschaffen -- um das zeitaufwendige und teure Umschreiben von Programmen zu vermeiden. Noch etwas ereignete sich in der EDV-Welt: Daten wurden so definiert, dass Zahlen und Zeichen eine Bedeutung bekamen. Begriffe wie Record und Datenelement wurden Teil des EDV-Lexikons. Daten können verarbeitet werden, weil bekannt ist, wie die Datenelemente zueinander in Beziehung stehen.

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:

Textmarkierungen

Es gibt in unserer Welt logischerweise viele verschiedene Dokument-Typen. Wenn einmal repräsentative Beispiele für einen bestimmten Dokumenttyp zusammengetragen und analysiert sind, können die Elemente dieses Dokument-Typs definiert werden. Diese Elemente erhalten Namen wie:

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.

Der ISO-Standard 8879

Standard Generalized Markup Language (SGML) verwendet Hauptwörter und Adjektive, um Elemente in einem Dokument zu beschreiben. Beispielsweise könnte ein Haupttitel mit einem Markup-Tag wie <main head> oder <HEAD1> markiert werden. Ein einzelnes Stück Text könnte mit <P>, <PARA> oder einfach <TEXT> ausgezeichnet werden. Es gibt unter anderem ein öffentliches Verzeichnis von Markup-Elementen, welches von der American Association of Publishers entwickelt wurde. Eine maschinen-lesbare Definition namens DTD (Document Type Description) spezifiziert die Struktur des Dokuments. Dazu gehören die Beziehung zwischen den Elementen des Dokuments, die Reihenfolge der Elemente, und ob sie erforderlich, fakultativ oder verboten sind. Dies ermöglicht es dem Computer, unter anderem einen Plausibilitätstest durchzuführen.

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:
","
bedeutet, dass beide Komponenten in der angegebenen Reihenfolge erscheinen müssen.
"&"
Komponenten müssen beide auftreten; deren Reihenfolge ist beliebig.
"|"
bedeutet, dass nur eine der beiden Komponenten vorkommen darf.
Beispiel Tabellenzeile:
   <!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.

2. Eine häufig gestellte Frage: HTML-Editor

Eine häufig gestellte Frage lautet, ob die WYSIWYG-Methode (What You See Is What You Get) und SGML miteinander vereinbar seien. Die Antwort lautet ja. Es gibt nämlich Publishing-Werkzeuge, die auf der WYSIWYG-Methode basieren und Textfiles erzeugen können, die mit Markup-Tags versehen sind. Beispiel: FrameMaker von Adobe Systems.

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

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.


3. "Alles schreit" nach Internet und World Wide Web

1989 leitete eine Gruppe von Physikern um Tim Berners-Lee am Kernforschungszentrum CERN ein Softwareprojekt in die Wege, das als globales, interaktives Informationssystem für die Hochenergiephysik dienen sollte. Mit dessen Hilfe liessen sich Informationen im Computernetz über eine einheitliche Oberfläche benutzerfreundlich integrieren. Das Ergebnis der darauffolgenden Entwicklungsarbeiten ist heute unter dem Namen World Wide Web, WWW oder W3 bekannt. Es ist mehr eine Initiative als ein Produkt, deren Ziel es ist, mit Hilfe von Hypermedia-Informationssystemen Zugang zu global verteilten Dokumenten im Internet zu gewähren.

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

  1. die nodes in der "HyperText Markup Language (HTML)", einem Subset der Standard Generalized Markup Language, beschrieben (mit <Tags in spitzen Klammern>);
  2. die links, für die Verwendung in einem global verteilten Informationsnetz, als "Universal Resource Locator (URL)" definiert.
Die Dokumente können damit direkt von verschiedenen Informationsservern wie dem abgeholt werden.

Häufig verwendete HTML-Tags von HTML 2.0 (beschränkter Sprachumfang)

Die Tags werden zwischen spitze Klammern gesetzt, z.B. <P>. Zu jedem Tag gehört das entsprechende End-Tag, z.B. </DL> nach <DL>.
A HREF=
Anker, Link, URL, d.h. Uniform Resource Locator.
A NAME=
Anker
Body
normaler Text
DL mit <DT> und <DD>
Definition List, Glossar
H1
Header, Stufe 1
H2
Header, Stufe 2
OL mit <LI>
Ordered List, Aufzählung
P
Paragraph
PRE
Preformatted Text, Beispiel
UL mit <LI>
Unordered List, "bullet list"
Daneben gibt es noch Tags für die Zeichengestaltung sowie spezielle Tags wie z.B. <HR> für einen horizontalen Strich. <!-- Text --> setzt einen Kommentar in den Quellentext. Der Zeichensatz ISO Latin-1 enthält auch die Umlaute ä, ö, ü, usw.

Die allerwichtigsten Attribute (HTML 4)

Die Attribute statten die Tags mit zusätzlichen Bedeutungen aus.
BODY BGCOLOR=
Hintergrundfarbe des Dokuments
TABLE CELLPADDING=
Rand in den Zellen einer Tabelle
TR BGCOLOR=
Hintergrundfarbe einer Reihe in der Tabelle
P ALIGN=
Horizontale Ausrichtung, z.B. LEFT, CENTER, RIGHT
DIV ALIGN=
Horizontale Ausrichtung, z.B. LEFT, CENTER, RIGHT
P CLASS=
Style Klasse (CSS)
LI CLASS=
Style Klasse (CSS)
IMG ALT=
Beschreibung eines Bildes durch Text
IMG WIDTH= HEIGHT=
Grössenangaben für ein Bild zur Beschleunigung der Darstellung.
AREA ALT=
Beschreibung eines Hotspots der sensitiven Karte

PDF Learning HTML (pdf).


Seit dem 30. Oktober 1995 sind Sie der oder die -te Besucher/in dieser Seite. Vielen Dank für Ihr Interesse.

Newsliste Hypertext.


Uni ZH | Informatikdienste | PostScript | ZInfo
HTML 3.2 Last update: Tuesday, 26-Aug-2003 14:31:37 CEST by vo