Nøkkelforskjell – DTD vs XSD
DTD og XSD er relatert til XML, som brukes til dataoverføring blant flere funksjoner. De fleste applikasjoner krever dataoverføring. Når klientmaskinen krever å hente data fra serveren, bør det være en effektiv metode for å hente data. XML kan brukes for å oppnå denne oppgaven. Det står for Extensible Markup Language. Den største fordelen med å bruke XML er å overføre data. Annet enn det kan den også brukes til å konfigurere rammer og for å designe oppsettet for Android-applikasjoner. Kodene som brukes i XML er ikke forhåndsdefinerte. Programmereren kan skrive taggene i henhold til applikasjonen. Et XML-dokument inneholder strukturen og innholdet. I XML står DTD for Document Type Definition og XSD står for XML Schema Definition. DTD er et sett med merkedeklarasjoner som definerer en dokumenttype for et SGML – familiemarkeringsspråk. XSD spesifiserer hvordan elementene i et Extensible Markup Language-dokument formelt skal beskrives. Hovedforskjellen mellom DTD og XSD er at DTD kan brukes til å definere strukturen mens XSD kan brukes til å definere strukturen og innholdet. Denne artikkelen diskuterer forskjellen mellom DTD og XSD.
Hva er DTD?
DTD står for Document Type Definition. Det brukes til å beskrive XML-språk nøyaktig. Hovedmålet med DTD er å definere strukturen til en XML-fil. Den inneholder en liste over juridiske elementer. Den brukes også til å utføre validering. Det finnes to typer DTD. De er interne eller eksterne. Hvis DTD-elementene er deklarert i XML-filen, er det kjent som intern DTD. Hvis DTD-elementene er deklarert i en annen fil, er det kjent som ekstern DTD.
Figur 01: Intern DTD
I henhold til ovenstående er elementene deklarert i XML-filen. Så det er en intern DTD. <! DOCTYPE Student definerer at rotelementet i dokumentet er Student. Den definerer at Student-elementet består av tre elementer som er ID, Navn og E-post. Hver ID, navn og e-post er definert separat. De er alle datatyper som kan analyseres. DTD eksisterer fra linje nummer 2 til 7. Resten er XML.
Figur 02: Legge til den eksterne DTD-filen
Når DTD-filen er lagret som student.dtd, bør den legges til XML-filen. Det gjøres som følger;
Hva er XSD?
XSD står for XML Schema Definition. Den brukes til å definere strukturen og innholdet i XML-filer. Det er en metode for å uttrykke begrensning av XML-filen. XSD ligner på DTD, men det gir mer kontroll på XML-strukturen. Det finnes to typer XSD-filer. De er enkle Type og komplekse Type. SimpleType gjør det mulig å ha tekstbaserte elementer. Den inneholder færre attributter, underordnede elementer og kan ikke stå tom. ComplexType tillater å holde flere attributter og elementer. Den inneholder flere underelementer og kan stå tom.
Figur 03: new1.xsd-fil
I henhold til XSD-filen ovenfor, definerer elementnavnet Student. Den definerer at elementet Student er kompleks type. Den definerer at den komplekse typen er en sekvens av elementer. Den definerer at element-ID-en er av streng- eller teksttype. Navnet og e-posten er også av typen streng eller tekst.
Figur 04: Student.xml-fil
Over er XML-filen, plasseringen til new1.xsd-filen skal inkluderes i xsi:schemaLocation.
Hva er likheten mellom DTD og XSD?
Både DTD og XSD kan brukes til å definere strukturen til et XML-dokument
Hva er forskjellen mellom DTD og XSD?
DTD vs XSD |
|
DTD er et sett med markup-erklæringer som definerer en dokumenttype for en SGML – familiemarkup language. | XSD spesifiserer hvordan elementene i et Extensible Markup Language-dokument skal beskrives formelt. |
står for | |
DTD står for Document Type Definition. | XSD står for XML Schema Definition. |
Kontroll på XML-struktur | |
DTD gir mindre kontroll over XML-strukturen. | XSD gir mer kontroll over XML-strukturen. |
Støtte for datatyper | |
DTD støtter ikke datatyper. | XSD støtter datatyper. |
Simplicity | |
DTD er vanskeligere enn XSD. | XSD er enkelt enn DTD. |
Sammendrag – DTD vs XSD
XML er en teknologi for dataoverføring. DTD og XSD er relatert til XML. En XML-fil inneholder strukturen og innholdet. DTD er et sett med merkedeklarasjoner som definerer en dokumenttype for et SGML – familiemarkeringsspråk. XSD spesifiserer hvordan elementene i et Extensible Markup Language-dokument formelt skal beskrives. Forskjellen mellom DTD og XSD er at DTD kan brukes til å definere strukturen mens XSD kan brukes til å definere strukturen og innholdet.