XML shema vs DTD
XML označava Extensible Markup Language. Definirana je u XML 1.0 specifikaciji koju je razvio W3C (World Wide Web Consortium). XML pruža standardni način koji je također jednostavan za kodiranje podataka i teksta tako da se sadržaj može razmjenjivati preko hardverskog upravljačkog programa, operativnih sustava i aplikacija s malo ljudske intervencije. XML shema opisuje strukturu XML dokumenta. XML shema nameće ograničenja na strukturu i sadržaj XML dokumenta, osim sintaktičkih pravila kojih se treba pridržavati u XML-u. XML shema je preporuka koju pruža World Wide Web Consortium (W3C), a postala je preporuka u svibnju 2001. DTD (Definicija vrste dokumenta) također definira kako su elementi dokumenta uređeni i ugniježđeni, koji su elementi uključeni u dokument i atribute uključenih elemenata. DTD definira strukturu dokumenata na označnim jezicima porodice SGML.
Što je XML shema?
XML shema opisuje strukturu XML dokumenta. Ona definira elemente koji se mogu pojaviti u XML dokumentu i njihove atribute, primjerice je li element prazan ili može li sadržavati tekst. Također određuje koji bi elementi bili podređeni elementi i redoslijed dječjih elemenata. Nadalje, XML shema definira tipove podataka koji se koriste u elementima i njihove atribute. XML sheme se široko koriste u web aplikacijama jer su proširive i pružaju podršku za vrste podataka i imena. Najveća snaga s XML shemom pruža podršku za tipove podataka. Pruža jednostavne metode za definiranje sadržaja dopuštenih u dokumentu i metode za osiguranje ispravnosti podataka. Nadalje, XML shema ima odredbe za rad s podacima u bazama podataka i omogućuje pretvorbu između vrsta podataka.
Što je DTD?
DTD definira strukturu dokumenata na označnim jezicima porodice SGML kao što su SGML, XML i HTML. Ona definira kako su elementi dokumenata uređeni i ugniježđeni, koji su elementi uključeni u dokumente i atributi uključenih elemenata. U XML dokumentu DTD je deklariran u DOCTYPE deklaraciji koja je ispod XML deklaracije. Tijelo DTD sadrži definicije elemenata u dokumentu i njihovih atributa i može se definirati kao unutarnja ili vanjska definicija. Imati vanjski DTD vrlo je korisno kada koristite XML protokol za komunikaciju između zasebnih sustava jer smanjuje ukupne troškove ponovnog slanja DTD-a svaki put kao kod inline definicije. Vanjski DTD mogao bi biti postavljen na mjesto poput web poslužitelja kojem mogu pristupiti oba sustava.
Koja je razlika između XML sheme i DTD-a?
DTD je prethodnik XML sheme. Dok DTD pruža osnovnu strukturu / gramatiku za definiranje XML dokumenta, dodatak toj XML shemi pruža metode za definiranje ograničenja u podacima koji se nalaze u dokumentu. Stoga se smatra da je XML shema bogatija i moćnija od DTD. Također, XML shema nudi objektno orijentirani pristup za definiranje strukture XML dokumenta. No, s obzirom na to da je XML shema nova tehnologija, neki XML analizatori je još ne podržavaju. Nadalje, većina bogatih i složenih definicija naslijeđenih sustava definirana je DTD-om. Stoga njihovo prepisivanje ne bi bio lak zadatak.