XML vs. SGML
XML steht für EXtensible Markup Language. Es ist in der XML 1.0-Spezifikation definiert, die vom W3C (World Wide Web Consortium) entwickelt wird. XML bietet eine ebenfalls einfache Standardmethode zum Kodieren von Daten und Text, sodass der Inh alt mit wenig menschlichem Eingreifen zwischen Treiberhardware, Betriebssystemen und Anwendungen ausgetauscht werden kann. SGML (Standard Generalized Markup Language) ist ein ISO-Standard (International Organization for Standardization) zum Spezifizieren einer Dokument-Markup-Sprache oder eines Satzes von Tags. SGML ist keine Dokumentensprache, sondern eine Document Type Definition (DTD).
XML
XML ist eine Auszeichnungssprache, die verwendet wird, um Daten und Text zwischen Treiberhardware, Betriebssystemen und Anwendungen mit wenig menschlichem Eingreifen zu übertragen. XML stellt Tags, Attribute und Elementstrukturen bereit, die verwendet werden können, um Kontextinformationen bereitzustellen. Diese Kontextinformationen können verwendet werden, um die Bedeutung des Inh alts zu entschlüsseln. Dadurch ist es möglich, effiziente Suchmaschinen zu entwickeln und Data Mining auf den Daten durchzuführen. Darüber hinaus eignen sich herkömmliche relationale Datenbanken als XML-Daten, da sie in Zeilen und Sp alten organisiert werden könnten, aber XML bietet weniger Unterstützung für Daten mit umfangreichen Inh alten wie Audio, Video, komplexe Dokumente usw. XML-Datenbanken speichern Daten in einer strukturierten, hierarchischen Form wodurch Abfragen effizienter bearbeitet werden können. XML-Tags sind nicht vordefiniert und die Benutzer können neue Tags und Dokumentstrukturen definieren. Außerdem wurden neue Internetsprachen wie RSS, Atom, SOAP und XHTM mit XML erstellt.
SGML
SGML basiert auf der Idee, dass ein Dokument, obwohl es je nach verwendetem Ausgabemedium unterschiedlich aussehen kann, einige strukturelle und semantische Elemente enthält, die sich in Bezug auf die Darstellung nicht ändern. SGML-basierte Dokumente können erstellt werden, ohne sich um das Aussehen des Dokuments zu kümmern, das sich im Laufe der Zeit ändern kann, sondern um die Dokumentstruktur. Darüber hinaus kann der SGML-Compiler jedes Dokument mit seiner DTD interpretieren, daher bieten diese Dokumente mehr Portabilität. Außerdem könnten auf SGML basierende Dokumente leicht an unterschiedliche Medien angepasst werden (z. B. könnte ein für Druckmedien 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 Spezifizieren einer Auszeichnungssprache für Dokumente oder eines Satzes von Tags. XML ist eigentlich eine Auszeichnungssprache, die auf SGML basiert. Aber XML erlegt einige Beschränkungen auf, die nicht in SGML enth alten sind. XML erlegt beispielsweise folgende Einschränkungen auf: Entitätsreferenzen müssen mit einem REFC-Trennzeichen abgeschlossen werden, Referenzen auf externe Datenentitäten im Inh alt sind nicht zulässig, Zeichenreferenzen müssen mit einem REFC-Trennzeichen abgeschlossen werden, benannte Zeichenreferenzen sind nicht zulässig usw. Darüber hinaus sind einige Konstrukte wie nicht geschlossene Start-Tags, nicht geschlossene End-Tags, leere Start-Tags, leere End-Tags, die in SGML erlaubt sind, wenn SHORTTAG YES ist, in XML nicht erlaubt. Darüber hinaus sind einige SGML-Deklarationen wie DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT und EXPLICIT) usw. in XML nicht zulässig.