XML vs SGML
XML je zkratka pro EXtensible Markup Language. Je definována ve specifikaci XML 1.0, která je vyvinuta W3C (World Wide Web Consortium). XML poskytuje standardní způsob, který je také jednoduchý, pro kódování dat a textu tak, aby obsah mohl být vyměněn přes hardware řidiče, operační systémy a aplikace s malou lidskou intervencí. SGML (Standard Generalized Markup Language) je standard 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 poskytování informací o kontextu. Tyto kontextové informace mohou být použity k dekódování významu obsahu. To umožňuje vyvinout efektivní vyhledávače a provádět data mining na datech. Kromě toho jsou tradiční relační databáze vhodné jako data XML, protože by mohly být uspořádány do řádků a sloupců, ale XML poskytuje menší podporu pro data s bohatým obsahem, jako jsou audio, video, komplexní dokumenty atd. XML databáze ukládají data ve strukturované hierarchické podobě 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ženo na myšlence, že ačkoli dokument lze zobrazit s různými vzhledy 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 to, jak je zobrazen. Dokumenty založené na SGML lze vytvářet bez ohledu na vzhled dokumentu, který se může měnit přesčas, ale pokud jde o strukturu dokumentu. Kompilátor SGML může dále interpretovat jakýkoli dokument pomocí svého DTD, proto tyto dokumenty poskytují větší přenositelnost. Také dokumenty založené na SGML lze snadno znovu přizpůsobit různým médiím (například dokument určený pro tiskové médium lze znovu upravit pro zobrazovací 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 ISO standard pro specifikaci značkovacího jazyka dokumentu nebo sady značek. XML je ve skutečnosti značkovací jazyk založený na SGML. Ale XML ukládá některá 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, odkazy na jmenované znaky nejsou povoleny atd. Dále, některé konstrukty, jako jsou 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ž SHORTTAG je ANO, nejsou v XML povoleny. Kromě toho některá prohlášení SGML, jako například DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT a EXPLICIT) atd., Nejsou v XML povolena.