XML vs. SGML
XML on lyhenne sanoista EXtensible Markup Language. Se on määritelty XML 1.0 -määrittelyssä, jonka on kehittänyt W3C (World Wide Web Consortium). XML tarjoaa tavanomaisen tavan, joka on myös yksinkertainen, tietojen ja tekstin koodaamiseen siten, että sisältöä voidaan vaihtaa ohjainlaitteistojen, käyttöjärjestelmien ja sovellusten välillä pienellä ihmisen puuttumisella. SGML (Standard Generalized Markup Language) on ISO (International Organization for Standardization) -standardi asiakirjan merkintäkielen tai tunnisteiden määrittämiseksi. SGML ei ole asiakirjan kieli, vaan DTD (Document Type Definition).
XML
XML on merkintäkieli, jota käytetään tietojen ja tekstin siirtämiseen ajurilaitteistojen, käyttöjärjestelmien ja sovellusten välillä pienellä ihmisen puuttumisella. XML tarjoaa tunnisteita, määritteitä ja elementtirakenteita, joita voidaan käyttää kontekstitietojen tarjoamiseen. Tätä kontekstitietoa voidaan käyttää sisällön merkityksen purkamiseen. Tämä mahdollistaa tehokkaiden hakukoneiden kehittämisen ja datan louhinnan. Lisäksi perinteiset relaatiotietokannat soveltuvat XML-tiedoiksi, koska ne voidaan järjestää riveihin ja sarakkeisiin, mutta XML tarjoaa vähemmän tukea runsaasti sisältöä oleville tiedoille, kuten ääni-, video-, monimutkaiset asiakirjat jne. XML-tietokannat tallentavat tietoja jäsennetyssä hierarkkisessa muodossa mikä mahdollistaa kyselyjen tehokkaamman käsittelyn. XML-tunnisteita ei ole määritelty ennalta, ja käyttäjät voivat määritellä uusia tunnisteita ja dokumenttirakenteita. Myös uudet Internet-kielet, kuten RSS, Atom, SOAP ja XHTM, luotiin XML: ää käyttämällä.
SGML
SGML perustuu ajatukseen, että vaikka asiakirja voidaan näyttää eri ulkoasuilla käytetyn tulostusmateriaalin mukaan, se sisältää joitain rakenteellisia ja semanttisia elementtejä, jotka eivät muutu sen mukaan, miten se näytetään. SGML-pohjaisia asiakirjoja voidaan luoda huolimatta asiakirjan ulkoasusta, joka voi muuttaa ylityötä, mutta huolimatta asiakirjan rakenteesta. Lisäksi SGML-kääntäjä voi tulkita minkä tahansa asiakirjan DTD: n avulla, joten nämä asiakirjat tarjoavat enemmän siirrettävyyttä. Myös SGML-pohjaiset asiakirjat voidaan helposti mukauttaa eri medioihin (esimerkiksi tulostusmateriaalille tarkoitettu asiakirja voidaan mukauttaa uudelleen näyttöruudulle).
Mitä eroa on XML: llä ja SGML: llä?
Vaikka XML on merkintäkieli, jota käytetään tietojen ja tekstin siirtämiseen ajurilaitteistojen, käyttöjärjestelmien ja sovellusten välillä, SGML on ISO-standardi asiakirjan merkintäkielen tai tunnisteiden määrittämiseksi. XML on itse asiassa SGML-pohjainen merkintäkieli. Mutta XML asettaa joitain rajoituksia, joita ei ole SGML: ssä. Esimerkiksi XML asettaa seuraavat rajoitukset: entiteettiviittaukset on suljettava REFC-erottimella, viittauksia ulkoisiin tietoyhteisöihin sisällössä ei sallita, merkkiviittauksia on suljettava REFC-erottimilla, nimettyjä merkkiviittauksia ei sallita jne. Joitakin rakenteita, kuten sulkemattomia aloitustunnisteita, sulkemattomia lopputunnisteita, tyhjiä aloitustunnisteita, tyhjiä lopputunnisteita, jotka ovat sallittuja SGML: ssä, kun SHORTTAG on KYLLÄ, ei sallita XML: ssä. Lisäksi jotkut SGML-ilmoitukset, kuten DATATAG, OMITTAG, RANK,LINK (YKSINKERTAINEN, IMPLICIT ja EXPLICIT) jne. Eivät ole sallittuja XML: ssä.