Forskel Mellem XML og SGML
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 at kode for data og tekst, således at indholdet kan udveksles på tværs af driverens hardware, operativsystemer og applikationer med ringe menneskelig indgriben. SGML (Standard Generalized Markup Language) er en ISO (International Organization for Standardization) standard for at angive et dokument markup sprog eller et sæt af tags. SGML er ikke et dokumentsprog, men en Dokument Type Definition (DTD).
XML
XML er et markeringssprog, der bruges til at overføre data og tekst mellem driverens hardware, operativsystemer og applikationer med ringe menneskelig indgriben. XML giver tags, attributter og elementstrukturer, som kan bruges til at give kontekstinformation. Denne sammenhængsinformation 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 egnede som XML-data, fordi de kunne organiseres i rækker og kolonner, men XML giver mindre støtte til data med rigeligt 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 foruddefineret, og brugerne kan definere nye tags og dokumentstrukturer. Der blev også oprettet nye internetsprog som RSS, Atom, SOAP og XHTM ved hjælp af XML.
SGMLSGML er baseret på ideen om, at selv om et dokument kan vises med forskellige udseende afhængigt af det anvendte udgangsmedium, indeholder det nogle strukturelle og semantiske elementer, der ikke ændres med reference til hvordan det vises. SGML-baserede dokumenter kan oprettes uden at vedrøre dokumentets udseende, som kan ændre overarbejde, men vedrører om dokumentstrukturen. Yderligere kan SGML compiler fortolke ethvert dokument ved hjælp af DTD, derfor giver disse dokumenter mere overførbarhed. Også dokumenter baseret på SGML kunne nemt tilpasses til forskellige medier (for eksempel kan dokument beregnet til printmedium blive genindstillet til en skærm).
Mens XML er et markupsprog, der bruges til at overføre data og tekst mellem driverens hardware, operativsystemer og applikationer, er SGML en ISO-standard til angivelse af et dokumentmarkupsprog eller et sæt tags. XML er faktisk et markupsprog, der er baseret på SGML. Men XML pålægger nogle begrænsninger, der ikke er i SGML. Eksempelvis pålægger XML følgende begrænsninger: Entitetsreferencer 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 som ikke-lukkede startetiketter, unclosed end-tags, tomme start-tags, tomme ende-tags, der er tilladt i SGML, når SHORTTAG er JA, ikke tilladt i XML. Derudover er nogle SGML-erklæringer som DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT og EXPLICIT) osv. Ikke tilladt i XML.