XML vs SGML
XML står for Eksternt Markup Language. Det er definert i XML 1.0 spesifikasjonen, som er utviklet av W3C (World Wide Web Consortium). XML gir en standard måte, som også er enkel, for å kode data og tekst slik at innholdet kan utveksles på tvers av driverens maskinvare, operativsystemer og applikasjoner med lite menneskelig innblanding. SGML (Standard Generalized Markup Language) er en ISO (International Organization for Standardization) standard for å angi et dokument oppstartsspråk eller et sett med koder. SGML er ikke et dokumentsspråk, men en Document Type Definition (DTD).
XML
XML er et oppslagsspråk som brukes til å overføre data og tekst mellom driverens maskinvare, operativsystemer og applikasjoner med lite menneskelig inngrep. XML gir koder, attributter og elementstrukturer som kan brukes til å gi kontekstinformasjon. Denne kontekstinformasjonen kan brukes til å dekode innholdets betydning. Dette gjør det mulig å utvikle effektive søkemotorer og utføre datautvinning på dataene. Videre er tradisjonelle relasjonsdatabaser egnet som XML-data fordi de kunne organiseres i rader og kolonner, men XML gir mindre støtte for data med rikt innhold som lyd, video, komplekse dokumenter, etc. XML-databaser lagrer data i en strukturert, hierarkisk form som gjør at forespørsler kan behandles mer effektivt. XML-koder er ikke forhåndsdefinert, og brukerne kan definere nye koder og dokumentstrukturer. Også nye nett språk som RSS, Atom, SOAP og XHTM ble opprettet ved hjelp av XML.
SGML
SGML er basert på ideen om at selv om et dokument kan vises med forskjellige utseende, avhengig av utgangsmediet som brukes, inneholder det noen strukturelle og semantiske elementer som ikke endres med henvisning til hvordan det vises. SGML-baserte dokumenter kan opprettes uten å angi om dokumentets utseende som kan forandre overtid, men om om dokumentstrukturen. Videre kan SGML-kompilatoren tolke ethvert dokument ved hjelp av DTD, derfor gir disse dokumentene mer overførbarhet. Også dokumenter basert på SGML kan enkelt tilpasses til forskjellige medier (for eksempel kan dokument som er beregnet for utskriftsmedium, bli lansert for en skjerm).
Hva er forskjellen mellom XML og SGML?
Selv om XML er et oppslagsspråk som brukes til å overføre data og tekst mellom driverens maskinvare, operativsystemer og applikasjoner, er SGML en ISO-standard for å spesifisere et dokumentopptakspråk eller et sett med koder. XML er faktisk et oppslagsspråk som er basert på SGML. Men XML pålegger noen restriksjoner som ikke er i SGML. For eksempel legger XML på følgende restriksjoner: Enhetsreferanser må være avsluttet med en REFC-avgrenser, referanser til eksterne data-enheter i innhold er ikke tillatt, tegnreferanser må være stengt med en REFC-avgrenser, navngitte tegnreferanser er ikke tillatt. Noen konstruksjoner som unclosed start-koder, unclosed end-tags, tomme start-koder, tomme end-koder som er tillatt i SGML når SHORTTAG er JA, er ikke tillatt i XML. I tillegg er noen SGML-deklarasjoner som DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT og EXPLICIT), etc. ikke tillatt i XML.