XML vs SGML
XML står för EXtensible Markup Language. Det definieras i XML 1.0-specifikationen, som utvecklas av W3C (World Wide Web Consortium). XML ger ett vanligt sätt, vilket också är enkelt, för att koda data och text så att innehållet kan bytas ut över drivrutiner, operativsystem och applikationer med lite mänskligt ingripande. SGML (Standard Generalized Markup Language) är en ISO (International Organization for Standardization) -standard för att ange ett dokumentmärkningsspråk eller en uppsättning taggar. SGML är inte ett dokumentspråk utan en dokumenttypsdefinition (DTD).
XML
XML är ett markup språk som används för att överföra data och text mellan drivrutiner, operativsystem och applikationer med lite mänskligt ingripande. XML tillhandahåller taggar, attribut och elementstrukturer som kan användas för att tillhandahålla kontextinformation. Denna sammanhangsinformation kan användas för att avkoda innebörden av innehållet. Detta gör det möjligt att utveckla effektiva sökmotorer och utföra data mining på data. Dessutom är traditionella relationsdatabaser lämpliga som XML-data eftersom de kan organiseras i rader och kolumner, men XML ger mindre stöd för data med rikt innehåll som ljud, video, komplexa dokument etc. XML-databaser lagrar data i en strukturerad, hierarkisk form vilket gör att frågor kan behandlas mer effektivt. XML-taggar är inte fördefinierade och användarna kan definiera nya taggar och dokumentstrukturer. Dessutom skapades nya internet språk som RSS, Atom, SOAP och XHTM med hjälp av XML.
SGML
SGML bygger på tanken att även om ett dokument kan visas med olika utseenden beroende på vilket utmatningsmedia som används, innehåller det några strukturella och semantiska element som inte ändras med hänvisning till hur det visas. SGML-baserade dokument kan skapas utan att det rör sig om dokumentets utseende som kan förändra övertid, men gäller om dokumentstrukturen. Vidare kan SGML-kompilatorn tolka något dokument med hjälp av DTD, därför ger dessa dokument mer portabilitet. Dokument som är baserade på SGML kan också enkelt anpassas till olika medier (till exempel kan dokument som är avsett för utskriftsmedium läsas för en bildskärm).
Vad är skillnaden mellan XML och SGML?
Medan XML är ett uppmärkningsspråk som används för att överföra data och text mellan drivrutiner, operativsystem och applikationer, är SGML en ISO-standard för att ange ett dokumentmallningsspråk eller en uppsättning taggar. XML är faktiskt ett markup-språk som bygger på SGML. Men XML lägger några begränsningar som inte finns i SGML. Exempelvis lägger XML följande begränsningar: entitetsreferenser måste stängas med en REFC-avgränsare, referenser till externa dataenheter i innehåll är inte tillåtna, teckenreferenser måste stängas med en REFC-avgränsare, namngivna teckenreferenser är inte tillåtna etc. Dessutom, vissa konstruktioner som oklarade start-taggar, slutna slutkoder, tomma startkoder, tomma slutkoder som är tillåtna i SGML när SHORTTAG är JA, är inte tillåtna i XML. Dessutom är vissa SGML-deklarationer som DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT och EXPLICIT) etc. inte tillåtna i XML.