XML vs SGML
XML on lyhenne sanoista EXtensible Markup Language. Se on määritelty XML 1.0 -spesifikaatiossa, jonka on kehittänyt W3C (World Wide Web Consortium). XML tarjoaa vakiotavan, joka on myös yksinkertainen, koodata dataa ja tekstiä siten, että sisältö voidaan vaihtaa ajureiden laitteistojen, käyttöjärjestelmien ja sovellusten välillä ilman ihmisten väliintuloa. SGML (Standard Generalized Markup Language) on ISO (International Organisation for Standardization) -standardi asiakirjan merkintäkielen tai tunnisteiden määrittämiseen. SGML ei ole asiakirjakieli, vaan asiakirjatyypin määritelmä (DTD).
XML
XML on merkintäkieli, jota käytetään tiedon ja tekstin siirtämiseen ajurilaitteiston, käyttöjärjestelmien ja sovellusten välillä ilman ihmisen puuttumista. XML tarjoaa tunnisteita, attribuutteja 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 tiedon louhinnan. Lisäksi perinteiset relaatiotietokannat sopivat XML-tietoiksi, koska ne voidaan järjestää riveihin ja sarakkeisiin, mutta XML tarjoaa vähemmän tukea datalle, jossa on rikasta sisältöä, kuten ääntä, videota, monimutkaisia asiakirjoja jne. XML-tietokannat tallentavat tiedot jäsennellyssä, hierarkkisessa muodossa. mikä mahdollistaa kyselyjen tehokkaamman käsittelyn. XML-tunnisteita ei ole enn alta määritetty ja käyttäjät voivat määritellä uusia tunnisteita ja dokumenttirakenteita. XML:n avulla luotiin myös uusia Internet-kieliä, kuten RSS, Atom, SOAP ja XHTM.
SGML
SGML perustuu ajatukseen, että vaikka dokumentti voidaan näyttää erilaisilla ulkoasuilla käytetystä tulostusvälineestä riippuen, se sisältää joitain rakenteellisia ja semanttisia elementtejä, jotka eivät muutu suhteessa sen näyttötapaan. SGML-pohjaisia dokumentteja voidaan luoda välittämättä dokumentin ulkonäöstä, joka voi muuttua ajan kuluessa, mutta välittämättä dokumentin rakenteesta. Lisäksi SGML-kääntäjä voi tulkita mitä tahansa dokumenttia käyttämällä DTD:tä, joten nämä asiakirjat tarjoavat enemmän siirrettävyyttä. Myös SGML-pohjaiset asiakirjat voidaan helposti sovittaa uudelleen eri tietovälineille (esimerkiksi tulostusmateriaalille tarkoitettu asiakirja voidaan sovittaa uudelleen näyttöruutua varten).
Mitä eroa on XML:n ja SGML:n välillä?
Vaikka XML on merkintäkieli, jota käytetään tiedon ja tekstin siirtämiseen ohjainlaitteiston, käyttöjärjestelmien ja sovellusten välillä, SGML on ISO-standardi asiakirjan merkintäkielen tai tunnisteiden määrittämiseen. XML on itse asiassa SGML:ään perustuva merkintäkieli. Mutta XML asettaa joitain rajoituksia, jotka eivät ole SGML:ssä. Esimerkiksi XML asettaa seuraavat rajoitukset: entiteettiviittaukset on suljettava REFC-erottimella, viittaukset ulkoisiin tietokokonaisuuksiin sisällössä eivät ole sallittuja, merkkiviittaukset on suljettava REFC-erottimella, nimetyt merkkiviittaukset eivät ole sallittuja jne. Lisäksi jotkin rakenteet, kuten sulkemattomat aloitustunnisteet, sulkemattomat lopputunnisteet, tyhjät aloitustunnisteet ja tyhjät lopputunnisteet, jotka ovat sallittuja SGML:ssä, kun SHORTTAG on KYLLÄ, eivät ole sallittuja XML:ssä. Lisäksi jotkin SGML-ilmoitukset, kuten DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT ja EXPLICIT) jne. eivät ole sallittuja XML:ssä.