SGML ist ein internationaler Standard mit dem Texte systemunabhängig und strukturiert repräsentiert werden können. Genauer genommen definiert SGML eine Metasprache mit der ein Auszeichnungssystem oder eine Auszeichnungsprache ( markup language) definiert werden kann. Mit dieser Auszeichnungssprache können Texte nach vorgegebenen Regeln zusammengestzt werden. Dadurch folgen sie einer vorgegebenen Struktur. Die zur Zeit wohl bekannteste SGML basierte Auszeichnungssprache ist HTML die Auszeichnungssprache in der die Dokumente des WWW geschrieben sind.
SGML zeichnet sich dabei durch drei Eigenschaften aus:
Eine Auszeichnungssprache muss zunächst zwischen den Auszeichnungselementen der Sprache und ihrem Inhalt unterscheiden können. Bei SGML geschieht dies durch die Verwendung von sog. Tags, das sind in spitze Klammern eingeschlossene Bezeichener. So lautet z. B. das Tag, dass diesen Abschnitt auszeichnet
<section>. Die Bezeichner können durch zusätzliche Attribute (innerhalb der spitzen Klammern) ergänzt werden. Die Attribute werden dabei durch Leerzeichen von dem Bezeichener und von anderen Attributen getrennt. Welche Tags in einem Text verwendet werden dürfen, wird in der DTD festgelegt.
SGML Dokumentdefinitionen können dazu genutzt werden Texte nach einem gemeinsamen System zu strukturieren und damit besser inhaltlich zugreifbar zu machen.
So gibt es seit ca. 1987 die Text Encoding Initiative ( TEI) ( http://www.uic.edu/orgs/tei/ ), eine internationales Projekt, das Richtlinien und Austauschformate für Texte für die sprachwissenschaftliche Forschung ausarbeitet. Von der TEI wurde eine umfangreiche SGML DTD entwickelt. 1994 erschien die erste Ausgabe der Richtlinien für die Auszeichnung, ein zweibändiges Werk mit ca 1300 Seiten. Andere SGML Einsatzgebiete sind z. B. die Strukturierung von Handbüchern und Bedienungsanleitungen oder die Standardisierung von Austauschformaten für Agenturmeldungen.
SGML kann auch genutzt werden um Dokumente für den Druck zu formatieren. Dabei sollte aber vor allem die logische Struktur dargestellt werden. So wird z. B. dieses Skript mit einem SGML-basierten Editor geschrieben. Dieser Editor teilt ein Dokument vom Typ
bookin drei Elemente auf:
front-matter,
bodyund
rear-matter. In
bodysteht der eigentliche Text des Skripts. Er wird in Elemente vom Typ
parteingeteilt, die wiederum in
chapterund weiter in
sections unterteilt werden. Zu jedem dieser Elemente gibt es einen Überschriftelement, das am Anfang des Elements stehen kann (aber nicht muss). Aus diesen Überschriftelementen kann automatisch ein Inhaltsverzeichnis zusammengestellt werden. Es kann z. B im Element
front-mattergedruckt werden (dazu muss die SGML Datei zweimal gelesen werden). Weiter können beliebige Textteile als
indextermgekennzeichnet werden. Aus diesen Textteilen kann ein Stichwortverzeichnis zusammengestellt werden.