XML shema u odnosu na DTD
XML je kratica za EXtensible Markup Language. Definiran je u specifikaciji XML 1.0 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 između pogonskog hardvera, operativnih sustava i aplikacija uz malo ljudske intervencije. XML shema opisuje strukturu XML dokumenta. XML shema nameće ograničenja na strukturu i sadržaj XML dokumenta uz sintaktička pravila kojih se treba pridržavati u XML-u. XML shema je preporuka konzorcija World Wide Web (W3C) i postala je preporuka u svibnju 2001. DTD (Document Type Definition) također definira kako su elementi dokumenta poredani i ugniježđeni, koji su elementi uključeni u dokument i atribute uključenih elemenata. DTD definira strukturu dokumenata u označnim jezicima iz obitelji SGML.
Što je XML shema?
XML shema opisuje strukturu XML dokumenta. Definira elemente koji se mogu pojaviti u XML dokumentu i njihove atribute kao što je je li element prazan ili može li sadržavati tekst. Također definira koji bi elementi bili podređeni elementi i redoslijed podređenih elemenata. Nadalje, XML shema definira tipove podataka koji se koriste u elementima i njihove atribute. XML sheme naširoko se koriste u web aplikacijama jer su proširive i pružaju podršku za tipove podataka i prostore imena. Najveća snaga XML sheme je pružanje podrške za vrste podataka. Pruža jednostavne metode za definiranje dopuštenog sadržaja u dokumentu i metode za osiguranje točnosti podataka. Nadalje, XML shema ima odredbe za rad s podacima u bazama podataka i omogućuje konverziju između tipova podataka.
Što je DTD?
DTD definira strukturu dokumenata u označnim jezicima iz obitelji SGML kao što su SGML, XML i HTML. Definira kako su elementi dokumenata poredani i ugniježđeni, koji su elementi uključeni u dokumente i atribute uključenih elemenata. U XML dokumentu, DTD je deklariran u DOCTYPE deklaraciji, koja se nalazi ispod XML deklaracije. Tijelo DTD-a sadrži definicije za elemente u dokumentu i njihove atribute i može se definirati kao ugrađena definicija ili vanjska definicija. Posjedovanje vanjskog DTD-a vrlo je korisno kada koristite XML protokol za komunikaciju između zasebnih sustava budući da smanjuje troškove ponovnog slanja DTD-a svaki put kao kod inline definicije. Vanjski DTD može se postaviti 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, osim te XML sheme pruža metode za definiranje ograničenja podataka sadržanih u dokumentu. Stoga se XML shema smatra bogatijom i moćnijom od DTD-a. Također, XML shema pruža objektno orijentirani pristup za definiranje strukture XML dokumenta. Ali budući da je XML shema nova tehnologija, neki XML parseri 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.