Razlika između XML sheme i DTD

XML shema naspram DTD

DTD, ili Definicija vrste dokumenta i XML shema, također poznata kao XSD, dva su načina opisivanja strukture i sadržaja XML dokumenta. DTD je stariji od njih dvojice i kao takav ima ograničenja koja je XML shema pokušala poboljšati. Prva razlika između DTD i XML sheme je svjesnost prostora imena; XML shema je, dok DTD nije. Svijest o prostoru imena uklanja nejasnoću koja može rezultirati stvaranjem određenih elemenata i atributa iz više XML vokabulara, dajući im prostore imena koji element ili atribut stavljaju u kontekst.

Dio razloga zašto je XML shema svjesna prostora imena dok DTD nije, jest činjenica da je XML shema napisana u XML, a DTD nije. Stoga se XML sheme mogu programski obraditi kao i bilo koji XML dokument. XML shema također eliminira potrebu za učenjem drugog jezika, kako je napisan u XML-u, za razliku od DTD-a.

Još jedna ključna prednost XML sheme je njegova mogućnost implementacije snažnog tipkanja. XML shema može definirati vrstu podataka određenih elemenata, pa čak i ograničiti na određene duljine ili vrijednosti. Ova sposobnost osigurava točnost podataka u XML dokumentu. DTD nema jake mogućnosti tipkanja i nema način provjere sadržaja prema tipovima podataka. XML shema ima mnoštvo izvedenih i ugrađenih vrsta podataka za provjeru sadržaja. To daje gore navedeno prednost. Također ima ujednačene tipove podataka, ali kako svi procesori i potvrđivači trebaju podržati ove tipove podataka, to često uzrokuje neuspjeh starijih XML analizatora.

Karakteristika DTD-a koju ljudi često smatraju i prednostom i nedostatkom je sposobnost definiranja DTD-ova unutar kojih nema XML sheme. To je dobro pri radu s malim datotekama, jer vam omogućuje da sadržavate i sadržaj i shemu u istom dokumentu, ali kada je riječ o većim dokumentima, to može biti nedostatak, jer povlačite sadržaj svaki put kada dohvaćate shemu. , To može dovesti do ozbiljnih troškova koji mogu smanjiti performanse.

Sažetak:

1. XML shema je svjestan imena, dok DTD nije.

2. XML sheme su napisane u XML, dok DTD nisu.

3. XML shema je snažno tipkana, dok DTD nije.

4. XML shema ima mnoštvo izvedenih i ugrađenih vrsta podataka koje nisu dostupne u DTD.

5. XML shema ne dopušta internetske definicije, dok DTD to čini.