XML Schema vs DTD
Ang XML ay nangangahulugang EXtensible Markup Language. Ito ay tinukoy sa XML 1.0 na detalye, na binuo ng W3C (World Wide Web Consortium). Ang XML ay nagbibigay ng karaniwang paraan, na simple din, upang mag-encode ng data at teksto upang ang nilalaman ay maaaring palitan sa hardware ng driver, operating system at mga application na may kaunting interbensyon ng tao. Inilalarawan ng XML Schema ang istruktura ng isang XML na dokumento. Ang XML schema ay nagpapataw ng mga hadlang sa istraktura at sa nilalaman ng isang XML na dokumento bilang karagdagan sa mga syntactical na panuntunan na dapat sundin sa XML. Ang XML schema ay isang rekomendasyon na ibinigay ng World Wide Web Consortium (W3C) at naging rekomendasyon ito noong Mayo, 2001. Tinutukoy din ng DTD (Document Type Definition) kung paano inayos at nakapugad ang mga elemento ng dokumento, anong mga elemento ang kasama sa dokumento at ang mga katangian ng mga kasamang elemento. Tinutukoy ng DTD ang istruktura ng mga dokumento sa SGML-family markup language.
Ano ang XML Schema?
Ang XML schema ay naglalarawan sa istruktura ng isang XML na dokumento. Tinutukoy nito ang mga elemento na maaaring lumitaw sa isang XML na dokumento at ang kanilang mga katangian tulad ng kung ang isang elemento ay walang laman o kung maaari itong maglaman ng teksto. Tinutukoy din nito kung anong mga elemento ang magiging mga elemento ng bata at ang pagkakasunud-sunod ng mga elemento ng bata. Dagdag pa, ang XML schema ay tumutukoy sa mga uri ng data na ginagamit sa mga elemento at ang kanilang mga katangian. Ang mga XML schema ay malawakang ginagamit sa mga web application dahil ito ay napapalawak at nagbibigay ng suporta para sa mga uri ng data at mga puwang ng pangalan. Ang pinakamalaking lakas sa XML schema ay ang pagbibigay ng suporta para sa mga uri ng data. Nagbibigay ito ng mga madaling paraan upang tukuyin ang nilalaman na pinapayagan sa isang dokumento at mga pamamaraan upang matiyak ang kawastuhan ng data. Higit pa rito, ang XML schema ay may mga probisyon upang gumana sa data sa mga database at nagbibigay-daan sa conversion sa pagitan ng mga uri ng data.
Ano ang DTD?
Tinutukoy ng DTD ang istruktura ng mga dokumento sa SGML-family markup language gaya ng SGML, XML, at HTML. Tinutukoy nito kung paano inayos at nakapugad ang mga elemento ng mga dokumento, anong mga elemento ang kasama sa mga dokumento at ang mga katangian ng mga kasamang elemento. Sa isang XML na dokumento, ang DTD ay ipinahayag sa isang deklarasyon ng DOCTYPE, na nasa ilalim ng deklarasyon ng XML. Ang katawan ng DTD ay nagtataglay ng mga kahulugan para sa mga elemento sa dokumento at ang kanilang mga katangian at maaari itong tukuyin bilang isang inline na kahulugan o isang panlabas na kahulugan. Ang pagkakaroon ng panlabas na DTD ay lubhang kapaki-pakinabang kapag gumamit ka ng XML protocol upang makipag-usap sa pagitan ng magkahiwalay na mga system dahil binabawasan nito ang overhead ng muling pagpapadala ng DTD sa bawat oras tulad ng sa inline na kahulugan. Ang panlabas na DTD ay maaaring ilagay sa isang lugar tulad ng isang web server na maaaring ma-access ng parehong mga system.
Ano ang pagkakaiba ng XML Schema at DTD?
Ang DTD ay ang hinalinhan ng XML schema. Habang ang DTD ay nagbibigay ng pangunahing istraktura/gramatika para sa pagtukoy ng isang XML na dokumento, bilang karagdagan sa XML schema na iyon ay nagbibigay ng mga pamamaraan upang tukuyin ang mga hadlang sa data na nilalaman sa dokumento. Samakatuwid ang XML schema ay itinuturing na mas mayaman at makapangyarihan kaysa sa DTD. Gayundin, ang XML schema ay nagbibigay ng object oriented na diskarte para sa pagtukoy sa istruktura ng isang XML na dokumento. Ngunit dahil ang XML schema ay isang bagong teknolohiya, hindi pa ito sinusuportahan ng ilang XML parser. Higit pa rito, karamihan sa mayaman at kumplikadong mga kahulugan ng mga legacy system ay tinukoy sa DTD. Kaya hindi magiging madaling gawain ang muling pagsulat sa mga ito.