Razlika med XML shemo in DTD

XML shema proti DTD

DTD ali opredelitev vrste dokumenta in shema XML, ki je znana tudi kot XSD, sta dva načina opisovanja strukture in vsebine dokumenta XML. DTD je starejši od obeh, zato ima omejitve, ki jih je XML shema poskušala izboljšati. Prva razlika med DTD in XML shemo je ozaveščenost v imenem; XML shema je, medtem ko DTD ni. Zavedanje o imenem odstranjuje dvoumnost, ki ima lahko za posledico, da imajo nekateri elementi in atributi iz več besedil XML, tako da jim dajo prostore imen, ki postavljajo element ali atribut v kontekst.

Del razloga, zakaj se shema XML ne zaveda imena, medtem ko DTD ni, je dejstvo, da je shema XML napisana v XML, DTD pa ne. Zato je mogoče sheme XML programsko obdelati tako kot kateri koli dokument XML. Shema XML prav tako odpravlja potrebo po učenju drugega jezika, kot je zapisan v XML, za razliko od DTD.

Druga ključna prednost sheme XML je njena sposobnost izvajanja močnega tipkanja. Shema XML lahko določi vrsto podatkov določenih elementov in jo celo omeji na določene dolžine ali vrednosti. Ta sposobnost zagotavlja, da so podatki, shranjeni v dokumentu XML, točni. DTD nima močnih možnosti tipkanja in ne more potrditi vsebine glede na podatke. Shema XML ima veliko izpeljanih in vgrajenih vrst podatkov za preverjanje veljavnosti vsebine. To zagotavlja zgoraj navedeno prednost. Ima tudi enotne podatkovne tipe, vendar pa morajo vsi procesorji in validatorji podpirati te vrste podatkov pogosto povzroči neuspeh starejših XML razčlenjevalcev.

Značilnost DTD, ki jo ljudje pogosto obravnavajo kot prednost in pomanjkljivost, je zmožnost definiranja DTD v rokah, ki jih XML shema nima. To je dobro pri delu z majhnimi datotekami, saj vam omogoča, da v istem dokumentu vsebujete tako vsebino kot shemo, kadar pa gre za večje dokumente, je to lahko slabost, saj vsebino povlečete vsakič, ko naložite shemo. . To lahko privede do resnih režijskih stroškov, ki lahko poslabšajo delovanje.

Povzetek:

1. Shema XML se pozna v imenem, DTD pa ne.

2. Sheme XML so zapisane v XML, DTD pa ne.

3. XML shema je močno vtipkana, DTD pa ne.

4. XML shema ima veliko izpeljanih in vgrajenih vrst podatkov, ki niso na voljo v DTD.

5. XML shema ne dovoljuje vgrajenih definicij, medtem ko DTD.