XML Şeması ve DTD Arasındaki Fark
XML Şeması vs. DTD
DTD veya Belge Türü Tanımı ve XSD olarak da bilinen XML Şeması, bir XML belgesinin yapısını ve içeriğini tanımlamanın iki yoludur. DTD ikisinin en büyüğü ve dolayısıyla XML Şemasının iyileştirmeye çalıştığı kısıtlamaları vardır. DTD ve XML Şeması arasındaki ilk fark, ad alanı bilinci; XML Şeması, DTD değil. İsim-alanı farkındalığı, elemana veya özniteliğe bağlam koyan isim alanları vererek, birden fazla XML sözlüğünden belirli öğeler ve niteliklere sahip olabilecek belirsizliği ortadan kaldırır.
DTD'de değilken XML Şemasının ad alanını tanımasının nedenlerinden biri XML Şemasının XML'de yazılmış olması ve DTD'nin olmamasıdır. Bu nedenle, XML Şemaları programlı olarak herhangi bir XML belgesi gibi işlenebilir. XML Şeması, DTD'nin aksine XML'de yazıldığı gibi başka bir dil öğrenme ihtiyacını ortadan kaldırır.XML Şemasının bir diğer önemli avantajı, güçlü yazım uygulama yeteneğidir. Bir XML Şeması, belirli öğelerin veri türünü tanımlayabilir ve hatta onu belirli uzunluklar veya değerler içinde sınırlayabilir. Bu yetenek, XML belgesinde saklanan verilerin doğru olmasını sağlar. DTD, güçlü yazım yeteneklerine sahip değildir ve içeriği veri türlerine göre doğrulamak için herhangi bir yolu yoktur. XML Şeması, içeriği doğrulamak için türetilmiş ve yerleşik veri türlerine sahiptir. Bu, yukarıda belirtilen avantaj sağlar. Aynı zamanda tekdüze veri türlerine sahiptir, ancak tüm işlemcilerin ve doğrulayıcıların bu veri türlerini desteklemesi gerektiği için, eski XML ayrıştırıcılarının başarısız olmasına neden olur.
1. DTD değil XML Şeması, ad alanı farkındadır.
2. XML Şemaları XML ile yazılırken, DTD'ler değildir.
3. DTD değil XML Şeması güçlü yazılmış.
4. XML Şeması, DTD'de bulunmayan türetilmiş ve yerleşik veri türlerine sahiptir.
5. DTD'nin yaptığı gibi XML Şeması satır içi tanımlamalara izin vermez.