XML-skema vs DTD
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, til at kode data og tekst, så indholdet kunne udveksles på tværs af driverhardware, operativsystemer og applikationer med lidt menneskelig indgriben. XML-skema beskriver strukturen i et XML-dokument. XML-skema pålægger strukturen og indholdet af et XML-dokument begrænsninger ud over de syntaktiske regler, der skal følges i XML. XML-skema er en anbefaling leveret af World Wide Web Consortium (W3C), og det blev en anbefaling i maj 2001. DTD (Dokumenttype-definition) definerer også, hvordan elementerne i dokumentet er ordnet og indlejret, hvilke elementer der er inkluderet i dokumentet og attributterne for de inkluderede elementer. DTD definerer strukturen af dokumenter på SGML-familie markup sprog.
Hvad er XML-skema?
XML-skema beskriver strukturen i et XML-dokument. Det definerer de elementer, der kan vises i et XML-dokument og deres attributter, såsom om et element er tomt, eller om det kan indeholde tekst. Det definerer også, hvilke elementer der vil være børnelementer og rækkefølgen af børnelementerne. Yderligere definerer XML-skema datatyper, der bruges i elementer og deres attributter. XML-skemaer er vidt brugt i webapplikationer, da det er udvideligt og giver support til datatyper og navnepladser. Største styrke med XML-skema giver support til datatyper. Det giver nemme metoder til at definere det indhold, der er tilladt i et dokument, og metoder til at sikre korrektheden af data. Yderligere har XML-skema bestemmelser til at arbejde med data i databaser og tillader konvertering mellem datatyper.
Hvad er DTD?
DTD definerer strukturen af dokumenter i SGML-familie markup sprog som SGML, XML og HTML. Den definerer, hvordan elementerne i dokumenter er ordnet og indlejret, hvilke elementer der er inkluderet i dokumenterne og attributterne for de inkluderede elementer. I et XML-dokument deklareres DTD i en DOCTYPE-erklæring, der er under XML-erklæringen. DTD's krop indeholder definitionerne for elementerne i dokumentet og deres attributter, og det kan defineres som en inline definition eller en ekstern definition. At have en ekstern DTD er meget nyttigt, når du bruger XML-protokol til at kommunikere mellem separate systemer, da det reducerer omkostningen ved at sende DTD'en hver gang igen som med inline definition. Den eksterne DTD kunne placeres et sted som en webserver, som begge systemer kunne få adgang til.
Hvad er forskellen mellem XML-skema og DTD?
DTD er forgængeren for XML-skema. Mens DTD leverer den grundlæggende struktur / grammatik til definition af et XML-dokument, giver XML-skemaet ud over det også metoder til at definere begrænsninger for dataene i dokumentet. Derfor anses XML-skema for at være rigere og kraftfuld end DTD. XML-skema tilvejebringer også en objektorienteret tilgang til at definere strukturen i et XML-dokument. Men da XML-skema er en ny teknologi, understøtter nogle XML-parsere det ikke endnu. Desuden er de fleste af rige og komplekse definitioner af ældre systemer defineret med DTD. Så at omskrive dem ville ikke være en let opgave.