DTD ve XSD Arasındaki Fark

Temel Fark - DTD vs XSD
 

DTD ve XSD, çeşitli işlevleri arasında veri aktarımı için kullanılan XML ile ilgilidir. Çoğu uygulama veri aktarımı gerektirir. İstemci makine sunucudan veri almayı gerektirdiğinde, veri almak için etkili bir yöntem olmalıdır. XML bu görevi gerçekleştirmek için kullanılabilir. Genişletilebilir İşaretleme Dili anlamına gelir. XML kullanmanın ana avantajı veri aktarmaktır. Bunun dışında, çerçeveleri yapılandırmak ve android uygulamaları için düzen tasarlamak için de kullanılabilir. XML'de kullanılan etiketler önceden tanımlanmamıştır. Programcı etiketleri uygulamaya göre yazabilir. Bir XML belgesi yapıyı ve içeriği içerir. XML'de DTD Belge Türü Tanımı ve XSD XML Şeması Tanımı anlamına gelir. DTD, SGML ailesi biçimlendirme dili için bir belge türü tanımlayan bir dizi biçimlendirme bildirimidir. XSD, Genişletilebilir Biçimlendirme Dili belgesindeki öğelerin resmi olarak nasıl tanımlanacağını belirtir. temel fark DTD ve XSD arasında DTD yapıyı tanımlamak için kullanılabilirken XSD yapıyı ve içeriği tanımlamak için kullanılabilir.  Bu makalede DTD ve XSD arasındaki fark tartışılmaktadır.

İÇİNDEKİLER

1. Genel Bakış ve Temel Fark
2. DTD nedir
3. XSD nedir
4. DTD ve XSD Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - DTD ve XSD Tabular Formunda
6. Özet

DTD nedir?

DTD, Belge Türü Tanımı anlamına gelir. XML dilini tam olarak tanımlamak için kullanılır. DTD'nin temel amacı bir XML dosyasının yapısını tanımlamaktır. Yasal unsurların bir listesini içerir. Doğrulama yapmak için de kullanılır. İki tür DTD vardır. Bunlar içsel veya dışsaldır. DTD öğeleri XML dosyası içinde bildirilirse, dahili DTD olarak bilinir. DTD öğeleri başka bir dosyada bildirilirse, harici DTD olarak bilinir.

Şekil 01: Dahili DTD

Yukarıdakilere göre, elemanlar XML dosyasında bildirilmiştir. Yani, dahili bir DTD.

Figure 02: Harici DTD dosyasını ekleme

DTD dosyası student.dtd olarak kaydedildiğinde, XML dosyasına eklenmesi gerekir. Aşağıdaki gibi yapılır;

XSD nedir?

XSD, XML Şema Tanımı anlamına gelir. XML dosyalarının yapısını ve içeriğini tanımlamak için kullanılır. XML dosyasının kısıtlamasını ifade etme yöntemidir. XSD, DTD'ye benzer, ancak XML yapısı üzerinde daha fazla kontrol sağlar. İki tür XSD dosyası vardır. Bunlar basit tip ve karmaşık tiptir. SimpleType, metin tabanlı öğelere sahip olmayı sağlar. Daha az özellik, alt öğe içerir ve boş bırakılamaz. ComplexType, birden çok niteliğin ve öğenin tutulmasına izin verir. Ek alt öğeler içerir ve boş bırakılabilir.

Şekil 03: new1.xsd dosyası

Yukarıdaki XSD dosyasına göre, eleman adının Öğrenci olduğunu tanımlar. Öğrenci öğesinin karmaşık tip olduğunu tanımlar. Kompleks tipin bir elemanlar dizisi olduğunu tanımlar. Öğe kimliğinin dize veya metin türünde olduğunu tanımlar. İsim ve E-posta da dize veya metin türündedir.

Şekil 04: Student.xml dosyası

Yukarıda XML dosyası, new1.xsd dosyasının konumu xsi: schemaLocation içine eklenmelidir.

DTD ve XSD Arasındaki Benzerlik Nedir??

  • DTD ve XSD, bir XML belgesinin yapısını tanımlamak için kullanılabilir.

DTD ve XSD Arasındaki Fark Nedir??

DTD ve XSD Karşılaştırması

DTD, SGML - aile biçimlendirme dili için bir belge türü tanımlayan bir biçimlendirme bildirimi kümesidir. XSD, Genişletilebilir Biçimlendirme Dili belgesindeki öğelerin resmi olarak nasıl tanımlanacağını belirtir.
 Standlar
DTD Belge Türü Tanımı anlamına gelir. XSD, XML Şema Tanımı anlamına gelir.
XML Yapısında Kontrol
DTD, XML yapısı üzerinde daha az kontrol sağlar. XSD, XML yapısı üzerinde daha fazla kontrol sağlar.
 Veri Türleri için Destek
DTD veri türlerini desteklemiyor. XSD veri türlerini destekler.
Basitlik
DTD XSD'den daha zor. XSD, DTD'den daha basit.

özet - DTD vs XSD

XML, veri aktarımı için bir teknolojidir. DTD ve XSD, XML ile ilişkilidir. Bir XML dosyası yapıyı ve içeriği içerir. DTD, SGML ailesi biçimlendirme dili için bir belge türü tanımlayan bir dizi biçimlendirme bildirimidir. XSD, Genişletilebilir Biçimlendirme Dili belgesindeki öğelerin resmi olarak nasıl tanımlanacağını belirtir. DTD ve XSD arasındaki fark, DTD'nin yapıyı tanımlamak için kullanılabilmesidir, XSD ise yapıyı ve içeriği tanımlamak için kullanılabilir.

Referans:

1. “XML Şeması (W3C).” Vikipedi, Wikimedia Vakfı, 17 Mart 2018. Buradan erişebilirsiniz  
2. “XML DTD - Javatpoint.”, Java T Noktası. Burada mevcut
3. “XML Şeması - Javatpoint.”, Java T Noktası. Burada mevcut
4. “Belge Türü Tanımı.” Vikipedi, Wikimedia Vakfı, 14 Mart 2018. Buradan erişebilirsiniz