Nøgleforskel – DTD vs XSD
DTD og XSD er relateret til XML, som bruges til dataoverførsel blandt dets flere funktioner. De fleste applikationer kræver dataoverførsel. Når klientmaskinen kræver at hente data fra serveren, bør der være en effektiv metode til at hente data. XML kan bruges til at udføre denne opgave. Det står for Extensible Markup Language. Den største fordel ved at bruge XML er at overføre data. Bortset fra det kan det også bruges til at konfigurere rammer og til at designe layoutet til Android-applikationer. De tags, der bruges i XML, er ikke foruddefinerede. Programmøren kan skrive tags i henhold til applikationen. Et XML-dokument indeholder strukturen og indholdet. I XML står DTD for Document Type Definition og XSD står for XML Schema Definition. DTD er et sæt markup-erklæringer, der definerer en dokumenttype for et SGML – familiemarkeringssprog. XSD specificerer, hvordan man formelt beskriver elementerne i et Extensible Markup Language-dokument. Den vigtigste forskel mellem DTD og XSD er, at DTD kan bruges til at definere strukturen, mens XSD kan bruges til at definere strukturen og indholdet. Denne artikel diskuterer forskellen mellem DTD og XSD.
Hvad er DTD?
DTD står for Document Type Definition. Det bruges til at beskrive XML-sprog præcist. Hovedformålet med DTD er at definere strukturen af en XML-fil. Den indeholder en liste over juridiske elementer. Det bruges også til at udføre validering. Der er to typer DTD. De er interne eller eksterne. Hvis DTD-elementerne er erklæret i XML-filen, er det kendt som intern DTD. Hvis DTD-elementerne er erklæret i en anden fil, er det kendt som ekstern DTD.
Figur 01: Intern DTD
Ifølge ovenstående er elementerne erklæret i XML-filen. Så det er en intern DTD. Den <! DOCTYPE Student definerer, at rodelementet i dokumentet er Student. Den definerer, at Elev-elementet består af tre elementer, der er ID, Navn og Email. Hvert ID, Navn og Email defineres separat. De er alle datatyper, der kan analyseres. DTD eksisterer fra linje nummer 2 til 7. Resten er XML.
Figur 02: Tilføjelse af den eksterne DTD-fil
Når DTD-filen er gemt som student.dtd, skal den tilføjes til XML-filen. Det gøres som følger;
Hvad er XSD?
XSD står for XML Schema Definition. Det bruges til at definere strukturen og indholdet af XML-filer. Det er en metode til at udtrykke begrænsninger af XML-filen. XSD ligner DTD, men det giver mere kontrol over XML-strukturen. Der er to typer XSD-filer. De er simple Type og komplekse Type. simpleType tillader at have tekstbaserede elementer. Den indeholder færre attributter, underordnede elementer og kan ikke efterlades tom. ComplexType tillader at holde flere attributter og elementer. Den indeholder yderligere underelementer og kan efterlades tom.
Figur 03: new1.xsd-fil
I henhold til ovenstående XSD-fil, definerer elementnavnet Student. Den definerer, at elementet Student er kompleks type. Den definerer, at den komplekse type er en sekvens af elementer. Den definerer, at element-id'et er af streng- eller teksttype. Navnet og e-mailen er også af typen streng eller tekst.
Figur 04: Student.xml-fil
Ovenfor er XML-filen, placeringen af new1.xsd-filen skal inkluderes i xsi:schemaLocation.
Hvad er ligheden mellem DTD og XSD?
Både DTD og XSD kan bruges til at definere strukturen af et XML-dokument
Hvad er forskellen mellem DTD og XSD?
DTD vs XSD |
|
DTD er et sæt markup-erklæringer, der definerer en dokumenttype for et SGML – familiemarkeringssprog. | XSD angiver, hvordan man formelt beskriver elementerne i et Extensible Markup Language-dokument. |
Står for | |
DTD står for Document Type Definition. | XSD står for XML Schema Definition. |
Kontrol med XML-struktur | |
DTD giver mindre kontrol over XML-strukturen. | XSD giver mere kontrol over XML-strukturen. |
Support til datatyper | |
DTD understøtter ikke datatyper. | XSD understøtter datatyper. |
Simplicity | |
DTD er sværere end XSD. | XSD er simpelt end DTD. |
Oversigt – DTD vs XSD
XML er en teknologi til dataoverførsel. DTD og XSD er relateret til XML. En XML-fil indeholder strukturen og indholdet. DTD er et sæt markup-erklæringer, der definerer en dokumenttype for et SGML – familiemarkeringssprog. XSD specificerer, hvordan man formelt beskriver elementerne i et Extensible Markup Language-dokument. Forskellen mellem DTD og XSD er, at DTD kan bruges til at definere strukturen, mens XSD kan bruges til at definere strukturen og indholdet.