XML mot 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 standardiserat sätt, vilket också är enkelt, att koda data och text så att innehållet kan utbytas över förarhårdvara, 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 DTD (Document Type Definition).
XML
XML är ett markeringsspråk som används för att överföra data och text mellan förarhårdvara, operativsystem och applikationer med lite mänsklig intervention. 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 innehållets innebörd. Detta gör det möjligt att utveckla effektiva sökmotorer och utföra datautvinning 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. Nya internetspråk som RSS, Atom, SOAP och XHTM skapades också med XML.
SGML
SGML bygger på tanken att även om ett dokument kan visas med olika utseenden beroende på vilket utdatmedium 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 handlar om dokumentets utseende som kan förändras övertid, men om dokumentstrukturen. Vidare kan SGML-kompilatorn tolka alla dokument med hjälp av sin DTD, därför ger dessa dokument mer bärbarhet. Dessutom kan dokument baserade på SGML lätt anpassas till olika media (till exempel kan dokument som är avsedda för utskriftsmedium anpassas om igen för en skärm).
Vad är skillnaden mellan XML och SGML?
Medan XML är ett markeringsspråk som används för att överföra data och text mellan drivrutinsmaskinvara, operativsystem och applikationer, är SGML en ISO-standard för att specificera ett dokumentmarkeringsspråk eller en uppsättning taggar. XML är faktiskt ett markeringsspråk som är baserat på SGML. Men XML inför vissa begränsningar som inte finns i SGML. XML inför till exempel 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. vissa konstruktioner som oavslutade start-taggar, oavslutade slut-taggar, tomma start-taggar, tomma slut-taggar som är tillåtna i SGML när SHORTTAG är JA, är inte tillåtna i XML. Dessutom har vissa SGML-deklarationer som DATATAG, OMITTAG, RANK,LINK (ENKEL, IMPLICIT och EXPLICIT) etc. är inte tillåtet i XML.