XML vs. SGML
XML står for EXtensible Markup Language. Det er defineret i XML 1.0-specifikationen, som er udviklet af W3C (World Wide Web Consortium). XML giver en standard måde, som også er enkel, til at kode data og tekst, således at indholdet kan udveksles på tværs af driverhardware, operativsystemer og applikationer med lidt menneskelig indgriben. SGML (Standard Generalized Markup Language) er en ISO-standard (International Organization for Standardization) til at specificere et dokumentmarkeringssprog eller et sæt tags. SGML er ikke et dokumentsprog, men en Document Type Definition (DTD).
XML
XML er et opmærkningssprog, der bruges til at overføre data og tekst mellem driverhardware, operativsystemer og applikationer med lidt menneskelig indgriben. XML giver tags, attributter og elementstrukturer, der kan bruges til at give kontekstinformation. Denne kontekstinformation kan bruges til at afkode indholdets betydning. Dette gør det muligt at udvikle effektive søgemaskiner og udføre data mining på dataene. Desuden er traditionelle relationsdatabaser velegnede som XML-data, fordi de kunne organiseres i rækker og kolonner, men XML giver mindre støtte til data med rigt indhold såsom lyd, video, komplekse dokumenter osv. XML-databaser gemmer data i en struktureret, hierarkisk form som gør det muligt at behandle forespørgsler mere effektivt. XML-tags er ikke foruddefinerede, og brugerne kan definere nye tags og dokumentstrukturer. Også nye internetsprog som RSS, Atom, SOAP og XHTM blev oprettet ved hjælp af XML.
SGML
SGML er baseret på ideen om, at selvom et dokument kan vises med forskelligt udseende afhængigt af det anvendte outputmedie, så indeholder det nogle strukturelle og semantiske elementer, som ikke ændres i forhold til, hvordan det vises. SGML baserede dokumenter kan oprettes uden at bekymre sig om dokumentets udseende, som kan ændre overarbejde, men om dokumentstrukturen. Yderligere kan SGML compiler fortolke ethvert dokument ved hjælp af dets DTD, derfor giver disse dokumenter mere portabilitet. Dokumenter baseret på SGML kunne også let tilpasses til forskellige medier (f.eks. kunne dokument beregnet til printmedie gentilpasses til en skærm).
Hvad er forskellen mellem XML og SGML?
Mens XML er et opmærkningssprog, der bruges til at overføre data og tekst mellem driverhardware, operativsystemer og applikationer, er SGML en ISO-standard til at specificere et dokumentopmærkningssprog eller et sæt tags. XML er faktisk et markup-sprog, der er baseret på SGML. Men XML pålægger nogle begrænsninger, der ikke er i SGML. For eksempel pålægger XML følgende begrænsninger: Enhedsreferencer skal lukkes med en REFC-afgrænser, referencer til eksterne dataenheder i indhold er ikke tilladt, tegnreferencer skal lukkes med en REFC-afgrænser, navngivne tegnreferencer er ikke tilladt osv. Desuden er nogle konstruktioner såsom ulukkede start-tags, ulukkede slut-tags, tomme start-tags, tomme slut-tags, der er tilladt i SGML, når SHORTTAG er YES, ikke tilladt i XML. Derudover er nogle SGML-erklæringer såsom DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT og EXPLICIT) osv. ikke tilladt i XML.