SGML

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

SGML ist eine Metasprache (also ein Werkzeug, um andere Sprachen zu definieren). Ausgehend von der Generalized Markup Language, die bereits in den 1960er Jahren Teil des Textformatierungssystems SCRIPT auf den IBM Großrechnern war, wurde SGML im Jahr 1986 als ISO 8879:1986 Information Processing – Text and Office Systems – Standard Generalized Markup Language (SGML) standardisiert.

SGML definiert einige Grundkonzepte wie Elemente, Attribute und Entitäten, die sich in SGML-Anwendungen wie HTML und XML wiederfinden. Welche Elemente es geben darf, wie sie kombiniert werden dürfen und welche Attribute sie kennen, wird durch die Dokumenttypdefinition oder DTD beschrieben. Eine solche DTD kann Teil des SGML-Dokuments sein oder auch als eigene Datei vorliegen.

Da SGML sehr flexibel ist, sind SGML-Parser aufwändig. Mit XML wurde eine Untermenge von SGML geschaffen, die strengere Regeln besitzt und sich leichter parsen lässt.

SGML- oder XML-Dokumente können text- oder datenorientiert sein (text-centric oder data-centric). Textorientierte Dokumente entsprechen dem, was wir mit HTML verfassen: sie enthalten einen Dokumenttext, der mit Hilfe von Elementen strukturiert wird. Die Kombinationsmöglichkeiten der Elemente sind wenig eingeschränkt. Datenorientierte Dokumente haben dagegen einen strikteren Aufbau und dienen vorzugsweise der Ablage oder dem Austausch strukturierter Daten.

Standard-Hierarchie rund um XML
Standard-Hierarchie rund um XML

HTML bis Version 4.01 und XML sind Anwendungen von SGML. HTML5 und jünger haben eigene Parser- und Serialisierungsalgorithmen definiert und zählen deshalb nicht mehr als SGML-Anwendungen.

Hauptartikel: HTML/Tutorials/Entstehung und Entwicklung

Echte SGML Anwendungen sind kaum zu finden. Die SGML-Teilmenge XML hingegen wird für viele Zwecke genutzt. Wir werden daher in diesem Wiki auf die vollständigen Möglichkeiten von SGML nicht eingehen und uns auf eine Beschreibung von XML beschränken.

Hauptartikel: XML

Weblinks