Standard Generalized Markup Language

Standard Generalized Markup Language
Screenshot
Dateiendung: .sgm, .sgml
MIME-Type: application/sgml, text/sgml
Art: Metasprache
Container für: HTML
Erweitert von: GML
Erweitert zu: XML, XHTML, HTML5
Standard(s): ISO 8879


Die Standard Generalized Markup Language (deutsch Genormte Verallgemeinerte Auszeichnungssprache), abgekürzt SGML, ist eine Metasprache, mit deren Hilfe man verschiedene Auszeichnungssprachen (englisch markup languages) für Dokumente definieren kann. SGML ist ein ISO-Standard: ISO 8879:1986 Information Processing – Text and Office Systems – Standard Generalized Markup Language (SGML).

Historie und Aktualität

  • 1986-10: ISO 8879
    Informationsverarbeitung; Text- und Bürosysteme; Genormte verallgemeinerte Auszeichnungssprache (SGML)[1][2]
  • 1988-07: ISO 8879 AMD 1 (deutsch ISO 8879 Änderung 1)
    Informationsverarbeitung; Text- und Bürosysteme; Genormte verallgemeinerte Auszeichnungssprache (SGML); Änderung 1[3][4]
  • 1996-12: ISO 8879 Technical Corrigendum 1 (deutsch ISO 8879 Technische Berichtigung 1)
    Informationstechnik – Text- und Bürosysteme – Genormte verallgemeinerte Auszeichnungssprache (SGML); Technische Berichtigung 1[5][6]
  • 1999-11: ISO 8879 Technical Corrigendum 2 (deutsch ISO 8879 Technische Berichtigung 2)
    Informationstechnik – Text- und Bürosysteme – Genormte verallgemeinerte Auszeichnungssprache (SGML); Technische Berichtigung 2[7][8]

Normungsstatus: aktuell.[9]

DIN-Fassung

Der ISO-Standard SGML ISO 8879[10] wurde 1990 unverändert in die Europäischen Norm EN 28879 übernommen (Zusatz EN für Europäische Norm und Voranstellung der Ziffer 2 als Kennzeichen für eine Übernahme einer ISO-Norm). Diese Fassung enthält bereits die Normänderung ISO 8879 AMD 1:1988-07.

Die Europäische Norm wurde 1991 in die deutsche Fassung DIN EN 28879 übernommen (Zusatz DIN zur Europäischen Norm). Die deutsche Fassung wurde nie in die deutsche Sprache übersetzt.

Das DIN vertreibt die Normen über den Beuth-Verlag, der die Norm ISO 8879[11] (original, englisch) wie auch die deutsche Norm DIN EN 28879[12] (englisch) anbietet. Die deutsche Fassung (DIN EN 28879) wurde am 1. September 2007[13] zurückgezogen. Die internationale Norm ISO 8879 ist unverändert ein aktuell gültiger Standard.

DIN-Anzeiger, September 2007:[14]

Z DIN EN 28879 : 1991-03
Informationsverarbeitung; Textverarbeitung und -kommunikation; Genormte Verallgemeinerte Auszeichnungssprache (SGML) (ISO 8879:1986 + A1:1988); EN 28879:1990

Zurückgezogen; dafür sollen ISO 8879:1986 und ISO 8879 AMD 1.1988 angewendet werden.

Inhalt und Darstellung

Um ein gültiges (englisch valid) Dokument in SGML zu beschreiben, muss eine Dokumenttypdefinition (DTD) verwendet werden, die den strukturellen Aufbau des Dokumentes beschreibt. Mit SGML wird die Struktur eines Dokumentes beschrieben, wobei das Layout nicht berücksichtigt wird. Durch die strikte Trennung von Struktur und Layout bilden SGML-Daten die Grundlage für medienneutrale Daten.

Die Struktur wird im Dokument durch Elemente angegeben. Zum Beispiel wird eine Überschrift in SGML mit einem Element gekennzeichnet, die Darstellung (Layout) dieses Elementes bleibt dem Layoutprogramm überlassen.

<Titel>Das ist eine &Uuml;berschrift</Titel>

SGML-Dokumente werden mit Parsern gelesen oder geprüft. Ein Parser liest zunächst die SGML-Deklaration (Regeln der Syntax), danach die DTD (Regeln der Struktur) ein und danach die eigentlichen Dokumentdaten (Inhalt, techn. Instanz = Ableitung der Definitionen). Der Parser prüft, ob das Dokument konform zu den angegebenen Regeln ist. Ein solcher Parser ist z. B. nsgmls[15] von James Clark; dieser Parser wird im Rahmen des OpenSP-Projektes[16] weiterentwickelt.

Ein gültiges Dokument ist ein Dokument, welches zu allen angegebenen Regeln konform ist. Jedes SGML-Dokument ist – Qualität zuerst – ein gültiges Dokument. Nur gültige Dokumente können von Parsern weiterverarbeitet werden.

Zur Transformation oder Wiedergabe eines Dokumentes für ein bestimmtes Ausgabemedium kann zum Beispiel die freie Sprache Document Style Semantics and Specification Language (DSSSL) verwendet werden.

Abgrenzung

Die bekanntesten auf SGML basierenden Sprachentwicklungen sind HTML und XML. HTML war die wichtigste Anwendung (englisch application) von SGML. XML wird als Nachfolger von SGML betrachtet. XML wird im Wesentlichen durch eine bestimmte Untermenge von SGML definiert. In der Praxis hat XML heute SGML in vielen Bereichen abgelöst.

Sprachelemente

  • Dokumenttypdefinitionen (DTDs)
  • Dokumenttypdeklarationen, z. B. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4.0//DE">
  • Tags
    • Starttag: <dokument> <p> <b>
    • Endtag: </dokument> </p> </b>
  • Elemente
    • Inhaltsblöcke, gekennzeichnet durch Starttag und Endtag: <p>Inhalt</p>
    • Elemente ohne Inhalt, gekennzeichnet nur mit einem Starttag: <img src="bild.jpg">
    • Elemente ohne Inhalt nach Syntax ISO 8879 Technical Corrigendum 2 (Web SGML) von 1999: <img src="bild.jpg" />
  • Attribute, Eigenschaften innerhalb von Tags: src="bild.jpg"
  • Zeichen-Entitäten
    • benannte Entitäten: &lt; &amp; &auml;
    • numerische Entitäten: &#233; &#xE9;
    • Systementitäten: &#TAB; &#SPACE;
  • CDATA-Abschnitte: <![CDATA[Inhalt]]>
  • Verarbeitungsanweisungen: <?Anweisung>
  • Kommentare
    • Kommentare in Tags und Deklarationen: --Kommentar--
    • Kommentardeklarationen: <!--Kommentar-->

Viele Sprachelemente von SGML leben heute in HTML und XML weiter.

Geschichte

Einer der Väter von SGML ist Charles Goldfarb, der die Grundlagen für IBMs Document Composition Facility Generalized Markup Language (IBM GML oder DCF GML) definierte. Ziel der GML war es, Dokumente so zu beschreiben, dass das Ergebnis weder von einer bestimmten Plattform noch von einer spezifischen Anwendung abhing. Es ging dabei rein um die logische Struktur wie z. B. die Einteilung eines Buches in Überschriften, Kapitel, Abschnitte und nicht um das Aussehen eines Dokumentes. Diese wesentliche Idee, das Konzept des generic coding, ist bereits Ende der 1960er Jahre entstanden und geht auf William W. Tunnicliffe zurück. Im Lauf der Jahre wurde GML weiterentwickelt und setzte sich letztendlich 1986 als internationaler Standard ISO 8879:1986 Standard Generalized Markup Language – SGML durch.

Behörden, Firmen, Bildungseinrichtungen und Institutionen begannen damit, ihre Daten in SGML zu speichern. Den großen Durchbruch auf breiter Front schaffte SGML aber erst mit der Möglichkeit, Daten für HTML- und XML-basierende Anwendungen automatisiert zu erstellen.

Anwendungen

Die meisten aufgeführten Anwendungen werden heute auf Basis von XML weiterentwickelt.

Siehe auch

Literatur

  • Charles F. Goldfarb: The SGML Handbook. Oxford University Press, 1991, ISBN 0-19-853737-9
  • Matthias Braune / Thorsten Sajonz: Vorschriften im Flugzeugbau – Suchstrategien zur optimierten Bedarfsdeckung von Informationen mit SGML, Deutsche Aerospace Airbus Bremen, 1993
  • Maler/El Andaloussi: Developing SGML Document Type Definitions. Prentice Hall, 1995, ISBN 978-0-13-309881-5
  • Wolfgang Rieger: SGML für die Praxis – Ansatz und Einsatz von ISO 8879. Springer, 1995, ISBN 978-3-642-78703-4
  • Horst Szillat: SGML: Eine Einführung. International Thompson Publishing, 1995, ISBN 3-929821-75-3
  • Brian E. Travis: The SGML Implementation Guide: A Blueprint for SGML Migration. Springer, 1995, ISBN 3-540-57730-0
  • Colby/Jackson/DeRose: Using SGML. Que, 1996, ISBN 978-0-7897-0414-6
  • Truly Donovan: Industrial-Strength Sgml: An Introduction to Enterprise Publishing. Pearson Education Limited, 1996, ISBN 978-0-13-216243-2
  • William R. Stanek: HTML, CGI, SGML, VRML, Java, Web Publishing Unleashed. Sams Net, 1996, ISBN 978-1-57521-051-3
  • Neil Bradley: The Concise SGML Companion. Addison-Wesley, 1997, ISBN 978-0-201-41999-3
  • Martin Bryan: Sgml and Html Explained. Addison-Wesley, 2. Auflage, 1997, ISBN 978-0-201-40394-7
  • S.J. DeRose: The SGML FAQ Book: Understanding the Foundation of HTML and XML. Kluwer Academic Publishers, 1997, ISBN 978-0-7923-9943-8
  • Chet Ensign: SGML: The Billion Dollar Secret. Prentice Hall, 1997, ISBN 978-0-13-226705-2
  • Peter Flynn: The SGML Power Tools Book with CDROM (Internet/Intranet Tools). International Thomson Publishing, 1997, ISBN 978-1-85032-328-0
  • Rubinsky/Maloney: Sgml on the Web: Small Steps Beyond HTML. Prentice-Hall, 1997, ISBN 978-0-13-519984-8
  • Martin Bryan: Sgml: An Author's Guide to the Standard Generalized Markup Language. Addison-Wesley, 1988, ISBN 978-0-201-17535-6
  • Charles Goldfarb: SGML Buyer's Guide: A Unique Guide to Determining Your Requirements and Choosing the Right SGML and XML Products and Services. Prentice Hall PTR, 1998, ISBN 978-0-13-681511-2* Bill Von Hagen: Sgml for Dummies. Hungry Minds Inc., 1998, ISBN 978-0-7645-0175-3
  • Rick Jelliffe: The Xml & Sgml Cookbook: Recipes for Structured Information. Pearson Education Ltd., 1998, ISBN 978-0-13-614223-2
  • Norman E. Smith: Practical Guide to Sgml/Xml Filters. Wordware Publishing Inc., 1998, ISBN 978-1-55622-587-1
  • Danny R. Vint: Sgml at Work. Prentice-Hall, 1998, ISBN 978-0-13-636572-3
  • Möhr/Schmidt (Hrsg.): SGML und XML: Anwendungen und Perspektiven. Springer-Verlag, 1999, ISBN 978-3-540-65543-5
  • Henning Lobin: Informationsmodellierung in XML und SGML. Springer, 2001, ISBN 978-3-540-65356-1
  • Eric van Herwijnen: Practical SGML. Springer, 2nd edition, 2013, ISBN 978-0-7923-9434-1

Einzelnachweise

  1. ISO 8879:1986-10. In: din.de. Abgerufen am 8. April 2023.
  2. ISO 8879:1986-10. In: archive.org. 10. November 2016, archiviert vom Original am 26. Dezember 2024; abgerufen am 26. Dezember 2024.
  3. ISO 8879 AMD 1:1988-07. In: din.de. Abgerufen am 29. Oktober 2020.
  4. ISO 8879 AMD 1:1988-07. In: archive.org. 10. November 2016, archiviert vom Original am 26. Dezember 2024; abgerufen am 26. Dezember 2024.
  5. ISO 8879 Technical Corrigendum 1:1996-12. In: din.de. Abgerufen am 29. Oktober 2020.
  6. ISO 8879 Technical Corrigendum 1:1996-12. In: archive.org. 10. November 2016, archiviert vom Original am 26. Dezember 2024; abgerufen am 26. Dezember 2024.
  7. ISO 8879 Technical Corrigendum 2:1999-11. In: din.de. Abgerufen am 29. Oktober 2020.
  8. ISO 8879 Technical Corrigendum 2:1999-11. In: archive.org. 10. November 2016, archiviert vom Original am 26. Dezember 2024; abgerufen am 26. Dezember 2024.
  9. ISO 8879-1986 Information processing; Text and office systems; Standard Generalized Markup Language (SGML) –- International Organization for Standardization (ISO). In: archive.org. Archiviert vom Original (nicht mehr online verfügbar) am 1. Dezember 2017; abgerufen am 11. September 2019.
  10. ISO 8879:1986 – Information processing – Text and office systems – Standard Generalized Markup Language (SGML). In: ISO. Abgerufen am 16. November 2019 (englisch).
  11. ISO 8879:1986-10. In: beuth.de. Abgerufen am 26. Dezember 2024.
  12. DIN EN 28879:1991-03. In: beuth.de. Abgerufen am 26. Dezember 2024.
  13. DIN EN 28879 Information Processing – Text And Office Systems – Standard Generalized Markup Language (sgml) – German Institute for Standardization (DIN). In: archive.org. Archiviert vom Original (nicht mehr online verfügbar) am 1. Dezember 2017; abgerufen am 11. September 2019.
  14. Nachricht von R. Grahle, Normenausschuss Information und Dokumentation (NID), DIN Deutsches Institut für Normung e. V.
  15. NSGMLS. In: jclark.com. Abgerufen am 26. Dezember 2024.
  16. OpenSP. In: openjade.sourceforge.net. Abgerufen am 26. Dezember 2024.