XML vs SGML
XML står för EXtensible Markup Language. Det definieras i XML 1.0-specifikationen, som är utvecklad av W3C (World Wide Web Consortium). XML tillhandahåller ett standardsätt, som också är enkelt, för att koda data och text så att innehållet kan utbytas mellan drivrutiner, operativsystem och applikationer med lite mänsklig inblandning. SGML (Standard Generalized Markup Language) är en ISO-standard (International Organization for Standardization) för att specificera ett dokumentmarkeringsspråk eller en uppsättning taggar. SGML är inte ett dokumentspråk utan en Document Type Definition (DTD).
XML
XML är ett märkningsspråk som används för att överföra data och text mellan drivrutinshårdvara, operativsystem och applikationer med lite mänsklig inblandning. XML tillhandahåller taggar, attribut och elementstrukturer som kan användas för att tillhandahålla kontextinformation. Denna kontextinformation 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 datautvinning på datan. Dessutom är traditionella relationsdatabaser lämpliga som XML-data eftersom de skulle kunna 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 internetspråk som RSS, Atom, SOAP och XHTM med XML.
SGML
SGML bygger på idén att även om ett dokument kan visas med olika utseende beroende på vilket utdatamedium 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 behöva oroa sig för dokumentets utseende, vilket kan ändra övertid, utan om dokumentstrukturen. Vidare kan SGML-kompilatorn tolka vilket dokument som helst med hjälp av dess DTD, därför ger dessa dokument mer portabilitet. Dokument baserade på SGML kan också enkelt återanpassas till olika medier (till exempel kan dokument som är avsedda för utskriftsmedium återanpassas 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 drivrutinshårdvara, operativsystem och applikationer, är SGML en ISO-standard för att specificera ett dokumentmarkeringsspråk eller en uppsättning taggar. XML är faktiskt ett märkningsspråk som är baserat på SGML. Men XML inför vissa begränsningar som inte finns i SGML. Till exempel inför XML följande begränsningar: enhetsreferenser 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 REFC-avgränsare, namngivna teckenreferenser är inte tillåtna, etc. Dessutom är vissa konstruktioner som ostängda starttaggar, ostängda sluttaggar, tomma starttaggar, tomma sluttaggar som är tillåtna i SGML när SHORTTAG är YES 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.