XML vs. SGML
XML steht für EXtensible Markup Language. Sie ist in der XML 1.0-Spezifikation definiert, die vom W3C (World Wide Web Consortium) entwickelt wird. XML bietet eine Standardmethode, die auch einfach ist, um Daten und Text so zu codieren, dass der Inhalt mit wenigen Eingriffen zwischen Treiberhardware, Betriebssystemen und Anwendungen ausgetauscht werden kann. SGML (Standard Generalized Markup Language) ist ein ISO-Standard (International Organization for Standardization) zur Festlegung einer Dokument-Auszeichnungssprache oder einer Gruppe von Tags. SGML ist keine Dokumentsprache, sondern eine Dokumenttypdefinition (DTD)..
XML
XML ist eine Markup-Sprache, die verwendet wird, um Daten und Text zwischen Treiberhardware, Betriebssystemen und Anwendungen mit nur wenigen Eingriffen zu übertragen. XML stellt Tags, Attribute und Elementstrukturen bereit, mit denen Kontextinformationen bereitgestellt werden können. Diese Kontextinformationen können verwendet werden, um die Bedeutung des Inhalts zu dekodieren. Dies ermöglicht die Entwicklung effizienter Suchmaschinen und das Data Mining der Daten. Darüber hinaus sind traditionelle relationale Datenbanken als XML-Daten geeignet, da sie in Zeilen und Spalten organisiert sein könnten. XML bietet jedoch weniger Unterstützung für Daten mit umfangreichen Inhalten wie Audio, Video, komplexe Dokumente usw. In XML-Datenbanken werden Daten in strukturierter, hierarchischer Form gespeichert Dadurch können Abfragen effizienter verarbeitet werden. XML-Tags sind nicht vordefiniert und die Benutzer können neue Tags und Dokumentstrukturen definieren. Auch neue Internetsprachen wie RSS, Atom, SOAP und XHTM wurden mit XML erstellt.
SGML
SGML basiert auf der Idee, dass ein Dokument zwar abhängig vom verwendeten Ausgabemedium mit unterschiedlichen Erscheinungsbildern angezeigt werden kann, es jedoch einige strukturelle und semantische Elemente enthält, die sich in Bezug auf die Anzeige nicht ändern. SGML-basierte Dokumente können erstellt werden, ohne dass sich das Erscheinungsbild des Dokuments, das sich über die Zeit ändern kann, sondern über die Dokumentenstruktur ändern. Darüber hinaus kann der SGML-Compiler jedes Dokument mithilfe seiner DTD interpretieren. Daher bieten diese Dokumente mehr Portabilität. Außerdem können auf SGML basierende Dokumente leicht an andere Medien angepasst werden (z. B. könnte ein für ein Druckmedium bestimmtes Dokument für einen Bildschirm angepasst werden)..
Was ist der Unterschied zwischen XML und SGML??
Während XML eine Auszeichnungssprache ist, die zum Übertragen von Daten und Text zwischen Treiberhardware, Betriebssystemen und Anwendungen verwendet wird, ist SGML ein ISO-Standard zum Angeben einer Dokumentauszeichnungssprache oder einer Gruppe von Tags. XML ist eigentlich eine Auszeichnungssprache, die auf SGML basiert. Für XML gelten jedoch einige Einschränkungen, die nicht in SGML enthalten sind. Für XML gelten beispielsweise folgende Einschränkungen: Entitätsverweise müssen mit einem REFC-Trennzeichen geschlossen werden, Verweise auf externe Datenentitäten im Inhalt sind nicht zulässig. Zeichenreferenzen müssen mit einem REFC-Trennzeichen geschlossen werden. Benannte Zeichenreferenzen sind nicht zulässig. Einige Konstrukte wie nicht geschlossene Start-Tags, nicht geschlossene End-Tags, leere Start-Tags und leere End-Tags, die in SGML zulässig sind, wenn SHORTTAG den Wert YES hat, sind in XML nicht zulässig. Zusätzlich sind einige SGML-Deklarationen wie DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT und EXPLICIT) usw. in XML nicht zulässig.