nyckelskillnad – DTD vs XSD
DTD och XSD är relaterade till XML, som används för dataöverföring bland dess flera funktioner. De flesta applikationer kräver dataöverföring. När klientdatorn kräver att data hämtas från servern bör det finnas en effektiv metod för att hämta data. XML kan användas för att uppnå denna uppgift. Det står för Extensible Markup Language. Den största fördelen med att använda XML är att överföra data. Annat än det kan det också användas för att konfigurera ramverk och för att designa layouten för Android-applikationer. Taggarna som används i XML är inte fördefinierade. Programmeraren kan skriva taggarna enligt applikationen. Ett XML-dokument innehåller strukturen och innehållet. I XML står DTD för Document Type Definition och XSD står för XML Schema Definition. DTD är en uppsättning uppmärkningsdeklarationer som definierar en dokumenttyp för ett SGML – familjemarkeringsspråk. XSD anger hur man formellt beskriver elementen i ett Extensible Markup Language-dokument. Den viktigaste skillnaden mellan DTD och XSD är att DTD kan användas för att definiera strukturen medan XSD kan användas för att definiera strukturen och innehållet. Den här artikeln diskuterar skillnaden mellan DTD och XSD.
Vad är DTD?
DTD står för Document Type Definition. Det används för att beskriva XML-språk exakt. Huvudsyftet med DTD är att definiera strukturen för en XML-fil. Den innehåller en lista över juridiska element. Det används också för att utföra validering. Det finns två typer av DTD. De är interna eller externa. Om DTD-elementen deklareras i XML-filen kallas det intern DTD. Om DTD-elementen deklareras i någon annan fil kallas det extern DTD.
Figur 01: Intern DTD
Enligt ovanstående deklareras elementen i XML-filen. Så det är en intern DTD. <! DOCTYPE Student definierar att rotelementet i dokumentet är Student. Den definierar att Studentelementet består av tre element som är ID, Namn och E-post. Varje ID, Namn och Email definieras separat. De är alla tolkbara datatyper. DTD finns från rad nummer 2 till 7. Resten är XML.
Figur 02: Lägga till den externa DTD-filen
När DTD-filen sparas som student.dtd, bör den läggas till i XML-filen. Det görs enligt följande;
Vad är XSD?
XSD står för XML Schema Definition. Den används för att definiera strukturen och innehållet i XML-filer. Det är en metod för att uttrycka begränsningar för XML-filen. XSD liknar DTD, men det ger mer kontroll över XML-strukturen. Det finns två typer av XSD-filer. De är enkel typ och komplex typ. SimpleType tillåter att ha textbaserade element. Den innehåller färre attribut, underordnade element och kan inte lämnas tom. ComplexType gör det möjligt att hålla flera attribut och element. Den innehåller ytterligare underelement och kan lämnas tom.
Figur 03: new1.xsd-fil
I enlighet med ovanstående XSD-fil, definierar elementet namnet Student. Den definierar att elementet Student är komplex typ. Den definierar att den komplexa typen är en sekvens av element. Den definierar att elementets ID är av sträng- eller texttyp. Namnet och e-postadressen är också av typen sträng eller text.
Figur 04: Student.xml-fil
Ovan är XML-filen, platsen för new1.xsd-filen bör inkluderas i xsi:schemaLocation.
Vad är likheten mellan DTD och XSD?
Både DTD och XSD kan användas för att definiera strukturen för ett XML-dokument
Vad är skillnaden mellan DTD och XSD?
DTD vs XSD |
|
DTD är en uppsättning uppmärkningsdeklarationer som definierar en dokumenttyp för ett SGML – familjemarkeringsspråk. | XSD anger hur man formellt beskriver elementen i ett Extensible Markup Language-dokument. |
står för | |
DTD står för Document Type Definition. | XSD står för XML Schema Definition. |
Kontroll på XML-struktur | |
DTD ger mindre kontroll över XML-strukturen. | XSD ger mer kontroll över XML-strukturen. |
Stöd för datatyper | |
DTD stöder inte datatyper. | XSD stöder datatyper. |
Simplicity | |
DTD är svårare än XSD. | XSD är enkelt än DTD. |
Sammanfattning – DTD vs XSD
XML är en teknik för dataöverföring. DTD och XSD är relaterade till XML. En XML-fil innehåller strukturen och innehållet. DTD är en uppsättning uppmärkningsdeklarationer som definierar en dokumenttyp för ett SGML – familjemarkeringsspråk. XSD anger hur man formellt beskriver elementen i ett Extensible Markup Language-dokument. Skillnaden mellan DTD och XSD är att DTD kan användas för att definiera strukturen medan XSD kan användas för att definiera strukturen och innehållet.