XML Schema vs DTD
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. XML Schema beskriver strukturen til et XML-dokument. XML-skjemaet legger begrensninger på strukturen og innholdet i et XML-dokument i tillegg til de syntaktiske reglene som skal følges i XML. XML-skjema er en anbefaling fra World Wide Web Consortium (W3C), og ble en anbefaling i mai 2001. DTD (Document Type Definition) definerer også hvordan elementene i dokumentet er bestilt og nestet, hvilke elementer som er inkludert i dokumentet og attributene til de medfølgende elementene. DTD definerer strukturen av dokumenter i SGML-familiens opptakspråk.
Hva er XML Schema?
XML-skjema beskriver strukturen til et XML-dokument. Den definerer elementene som kan vises i et XML-dokument og deres attributter, for eksempel om et element er tomt eller om det kan inneholde tekst. Det definerer også hvilke elementer som vil være barnelementer og rekkefølgen av barnets elementer. Videre definerer XML-skjema datatyper som brukes i elementer og deres attributter. XML-skjemaer er mye brukt i webapplikasjoner, siden det er utvidbart og gir støtte for datatyper og navneplasser. Største styrke med XML-skjema gir støtte for datatyper. Det gir enkle metoder for å definere innholdet som er tillatt i et dokument og metoder for å sikre korrekt data. Videre har XML-skjema bestemmelser for å arbeide med data i databaser og tillater konvertering mellom datatyper.
Hva er DTD?
DTD definerer strukturen av dokumenter i SGML-familie oppslagsspråk som SGML, XML og HTML. Det definerer hvordan elementene i dokumenter blir bestilt og nestet, hvilke elementer som er inkludert i dokumentene og attributene til de medfølgende elementene. I et XML-dokument er DTD deklarert i en DOCTYPE-erklæring, som ligger under XML-deklarasjonen. Kroppen i DTD inneholder definisjonene for elementene i dokumentet og deres attributter, og det kan defineres som en inline-definisjon eller en ekstern definisjon. Å ha en ekstern DTD er veldig nyttig når du bruker XML-protokollen for å kommunisere mellom separate systemer, siden det reduserer overhead for å sende DTD hver gang som med inline-definisjon. Den eksterne DTD kan plasseres på et sted som en webserver som kunne nås av begge systemene.
Hva er forskjellen mellom XML Schema og DTD?
DTD er forgjengeren til XML-skjemaet. Mens DTD gir grunnleggende struktur / grammatikk for å definere et XML-dokument, gir i tillegg til det XML-skjemaet metoder for å definere begrensninger på dataene i dokumentet. Derfor anses XML-skjema å være rikere og kraftigere enn DTD. XML-skjemaet gir også en objektorientert tilnærming for å definere strukturen i et XML-dokument. Men siden XML-skjema er en ny teknologi, støtter noen XML-parsere det ikke enda. Videre er de fleste av rike og komplekse definisjoner av arvsystemer definert med DTD. Så omskriving av dem ville ikke være en enkel oppgave.