XML vs. SGML
XML znamená EXtensible Markup Language. Je definován ve specifikaci XML 1.0, která je vyvinuta W3C (World Wide Web Consortium). XML poskytuje standardní způsob, který je také jednoduchý, ke kódování dat a textu tak, aby bylo možné obsah vyměňovat napříč hardwarem ovladače, operačními systémy a aplikacemi s malým zásahem člověka. SGML (Standard Generalized Markup Language) je norma ISO (International Organization for Standardization) pro specifikaci značkovacího jazyka dokumentu nebo sady značek. SGML není jazyk dokumentu, ale definice typu dokumentu (DTD).
XML
XML je značkovací jazyk, který se používá k přenosu dat a textu mezi hardwarem ovladače, operačními systémy a aplikacemi s malým zásahem člověka. XML poskytuje značky, atributy a struktury prvků, které lze použít k poskytnutí kontextových informací. Tyto kontextové informace lze použít k dekódování významu obsahu. To umožňuje vyvíjet efektivní vyhledávače a provádět dolování dat na datech. Kromě toho jsou jako data XML vhodné tradiční relační databáze, protože je lze uspořádat do řádků a sloupců, ale XML poskytuje menší podporu pro data s bohatým obsahem, jako jsou audio, video, složité dokumenty atd. XML databáze ukládají data ve strukturované, hierarchické formě což umožňuje efektivnější zpracování dotazů. Značky XML nejsou předdefinovány a uživatelé mohou definovat nové značky a struktury dokumentů. Pomocí XML byly také vytvořeny nové internetové jazyky, jako jsou RSS, Atom, SOAP a XHTM.
SGML
SGML je založen na myšlence, že i když lze dokument zobrazit v různých podobách v závislosti na použitém výstupním médiu, obsahuje některé strukturální a sémantické prvky, které se nemění s ohledem na způsob jeho zobrazení. Dokumenty založené na SGML lze vytvářet bez ohledu na vzhled dokumentu, který se může změnit přesčas, ale týkající se struktury dokumentu. Překladač SGML může dále interpretovat jakýkoli dokument pomocí jeho DTD, proto tyto dokumenty poskytují větší přenositelnost. Dokumenty založené na SGML lze také snadno znovu přizpůsobit různým médiím (například dokument určený pro tiskové médium lze znovu upravit pro obrazovku).
Jaký je rozdíl mezi XML a SGML?
Zatímco XML je značkovací jazyk, který se používá k přenosu dat a textu mezi hardwarem ovladače, operačními systémy a aplikacemi, SGML je standardem ISO pro specifikaci značkovacího jazyka dokumentu nebo sady značek. XML je ve skutečnosti značkovací jazyk založený na SGML. XML ale ukládá určitá omezení, která nejsou v SGML. Například XML ukládá následující omezení: odkazy na entity musí být uzavřeny pomocí oddělovače REFC, odkazy na externí datové entity v obsahu nejsou povoleny, odkazy na znaky musí být uzavřeny pomocí oddělovače REFC, pojmenované odkazy na znaky nejsou povoleny atd. některé konstrukce, jako neuzavřené počáteční značky, neuzavřené koncové značky, prázdné počáteční značky, prázdné koncové značky, které jsou povoleny v SGML, když je SHORTTAG ANO, nejsou v XML povoleny. Některá prohlášení SGML, jako jsou DATATAG, OMITTAG, RANK,LINK (SIMPLE, IMPLICIT a EXPLICIT) atd. Nejsou v XML povoleny.