Anahtar Farkı – DTD ve 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. Bu görevi gerçekleştirmek için XML kullanılabilir. Genişletilebilir İşaretleme Dili anlamına gelir. XML kullanmanın temel avantajı veri aktarmaktır. Bunun dışında, çerçeveleri yapılandırmak ve android uygulamaları için düzeni 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ı anlamına gelir ve XSD, XML Şema Tanımı anlamına gelir. DTD, bir SGML ailesi biçimlendirme dili için bir belge türü tanımlayan bir dizi biçimlendirme bildirimidir. XSD, bir Genişletilebilir İşaretleme Dili belgesindeki öğelerin resmi olarak nasıl tanımlanacağını belirtir. DTD ve XSD arasındaki temel fark, yapıyı tanımlamak için DTD'nin, yapıyı ve içeriği tanımlamak için XSD'nin kullanılabilmesidir. Bu makale DTD ve XSD arasındaki farkı tartışıyor.
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. Ayrıca doğrulama yapmak için kullanılır. İki tür DTD vardır. Bunlar dahili veya haricidir. DTD öğeleri XML dosyası içinde bildirilirse, dahili DTD olarak bilinir. DTD öğeleri başka bir dosyada bildirilmişse, harici DTD olarak bilinir.
Şekil 01: Dahili DTD
Yukarıdakine göre, öğeler XML dosyası içinde bildirilir. Yani, dahili bir DTD'dir. <! DOCTYPE Student, belgenin kök öğesinin Student olduğunu tanımlar. Öğrenci öğesinin Kimlik, Ad ve E-posta olmak üzere üç öğeden oluştuğunu tanımlar. Her Kimlik, Ad ve E-posta ayrı ayrı tanımlanır. Hepsi ayrıştırılabilir veri türleridir. DTD 2'den 7'ye kadardır. Gerisi XML'dir.
Şekil 02: Harici DTD dosyasını ekleme
DTD dosyası öğrenci.dtd olarak kaydedildiğinde, XML dosyasına eklenmelidir. Şu şekilde 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 etmenin bir 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 Tip'tir. simpleType, metin tabanlı öğelere sahip olmanızı sağlar. Daha az öznitelik, alt öğe içerir ve boş bırakılamaz. ComplexType, birden çok öznitelik 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 Student olduğunu tanımlar. Student öğesinin karmaşık tür olduğunu tanımlar. Karmaşık türün bir öğeler dizisi olduğunu tanımlar. Öğe kimliğinin dize veya metin türünde olduğunu tanımlar. Ad ve E-posta da dize veya metin türündedir.
Şekil 04: Student.xml dosyası
XML dosyasının üstünde, new1.xsd dosyasının konumu xsi:schemaLocation içine dahil edilmelidir.
DTD ve XSD Arasındaki Benzerlik Nedir?
Bir XML belgesinin yapısını tanımlamak için hem DTD hem de XSD kullanılabilir
DTD ve XSD Arasındaki Fark Nedir?
DTD vs XSD |
|
DTD, bir SGML - aile biçimlendirme dili için bir belge türü tanımlayan bir dizi biçimlendirme bildirimidir. | XSD, bir Genişletilebilir İşaretleme Dili belgesindeki öğelerin resmi olarak nasıl tanımlanacağını belirtir. |
için duruyor | |
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 Desteği | |
DTD veri türlerini desteklemiyor. | XSD veri türlerini destekler. |
Sadelik | |
DTD, XSD'den daha zordur. | XSD, DTD'den daha basittir. |
Özet – DTD ve XSD
XML, veri aktarımı için bir teknolojidir. DTD ve XSD, XML ile ilgilidir. Bir XML dosyası, yapıyı ve içeriği içerir. DTD, bir SGML ailesi biçimlendirme dili için bir belge türü tanımlayan bir dizi biçimlendirme bildirimidir. XSD, bir Genişletilebilir İşaretleme 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, XSD'nin ise yapıyı ve içeriği tanımlamak için kullanılabilmesidir.