XML versus SGML
XML staat voor EXtensible Markup Language. Het wordt gedefinieerd in de XML 1.0-specificatie, die is ontwikkeld door het W3C (World Wide Web Consortium). XML biedt een standaardmanier, die ook eenvoudig is, om gegevens en tekst zodanig te coderen dat de inhoud kan worden uitgewisseld over driverhardware, besturingssystemen en applicaties met weinig menselijke tussenkomst. SGML (Standard Generalized Markup Language) is een ISO-norm (International Organization for Standardization) voor het specificeren van een documentopmaaktaal of een set tags. SGML is geen documenttaal maar een documenttype-definitie (DTD).
XML
XML is een markup-taal die wordt gebruikt om gegevens en tekst over te zetten tussen driverhardware, besturingssystemen en applicaties met weinig menselijke tussenkomst. XML biedt tags, attributen en elementstructuren die kunnen worden gebruikt om contextinformatie te leveren. Deze contextinformatie kan worden gebruikt om de betekenis van de inhoud te decoderen. Dit maakt het mogelijk om efficiënte zoekmachines te ontwikkelen en datamining uit te voeren op de gegevens. Bovendien zijn traditionele relationele databases geschikt als XML-gegevens omdat ze kunnen worden georganiseerd in rijen en kolommen, maar XML biedt minder ondersteuning voor gegevens met rijke inhoud zoals audio, video, complexe documenten, enz. XML-databases slaan gegevens op in een gestructureerde, hiërarchische vorm waarmee query's efficiënter kunnen worden verwerkt. XML-tags zijn niet vooraf gedefinieerd en de gebruikers kunnen nieuwe tags en documentstructuren definiëren. Ook werden nieuwe internettalen zoals RSS, Atom, SOAP en XHTM gemaakt met behulp van XML.
SGML
SGML is gebaseerd op het idee dat hoewel een document met verschillende verschijningen kan worden weergegeven, afhankelijk van het gebruikte uitvoermedium, het een aantal structurele en semantische elementen bevat die niet veranderen met verwijzing naar hoe het wordt weergegeven. Op SGML gebaseerde documenten kunnen worden aangemaakt zonder zich zorgen te maken over het uiterlijk van het document, dat overuren kan veranderen, maar met betrekking tot de documentstructuur. Verder kan de SGML-compiler elk document interpreteren met behulp van de DTD, daarom bieden deze documenten meer draagbaarheid. Documenten op basis van SGML kunnen eenvoudig opnieuw worden aangepast aan verschillende media (een document dat is bedoeld voor afdrukmedium kan bijvoorbeeld opnieuw worden afgesteld voor een weergavescherm).
Wat is het verschil tussen XML en SGML?
Hoewel XML een markup-taal is die wordt gebruikt om gegevens en tekst over te zetten tussen driverhardware, besturingssystemen en applicaties, is SGML een ISO-standaard voor het specificeren van een documentopmaaktaal of een set tags. XML is eigenlijk een opmaaktaal die is gebaseerd op SGML. Maar XML legt een aantal beperkingen op die niet in SGML staan. XML legt bijvoorbeeld de volgende beperkingen op: entiteitsreferenties moeten worden afgesloten met een REFC-scheidingsteken, verwijzingen naar externe gegevensentiteiten in inhoud zijn niet toegestaan, tekenreferenties moeten worden afgesloten met een REFC-scheidingsteken, verwijzingen naar verwijzingen naar karakters zijn niet toegestaan, enzovoort. sommige constructies zoals niet-gesloten start-tags, niet-gesloten eind-tags, lege start-tags, lege end-tags die zijn toegestaan in SGML als SHORTTAG JA is, zijn niet toegestaan in XML. Bovendien zijn sommige SGML-verklaringen, zoals DATATAG, OMITTAG, RANK, LINK (EENVOUDIG, IMPLICIET en EXPLICIET), enz. Niet toegestaan in XML.