XML DTD'si
Doğru sözdizimine sahip bir XML belgesine "İyi Biçimlendirilmiş" denir.
DTD'ye göre doğrulanmış bir XML belgesi hem "İyi Biçimlendirilmiş" hem de "Geçerli"dir.
DTD nedir?
DTD, Belge Türü Tanımı anlamına gelir.
DTD, bir XML belgesinin yapısını ve yasal öğelerini ve özniteliklerini tanımlar.
Geçerli XML Belgeleri
"Geçerli" bir XML belgesi "İyi Biçimlendirilmiş"tir ve bir DTD'nin kurallarına uygundur:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Yukarıdaki DOCTYPE beyanı, bir DTD dosyasına bir referans içerir. DTD dosyasının içeriği aşağıda gösterilmiş ve açıklanmıştır.
XML DTD'si
Bir DTD'nin amacı, bir XML belgesinin yapısını ve yasal unsurlarını ve niteliklerini tanımlamaktır:
Not.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
Yukarıdaki DTD şu şekilde yorumlanır:
- !DOCTYPE note - Belgenin kök öğesinin note olduğunu tanımlar
- !ELEMENT note - Note öğesinin şu öğeleri içermesi gerektiğini tanımlar: "to, from, title, body"
- !ELEMENT to - to öğesini "#PCDATA" türünde tanımlar
- !ELEMENT from - from öğesini "#PCDATA" türünde tanımlar
- !ELEMENT başlığı - Başlık öğesini "#PCDATA" türünde tanımlar
- !ELEMENT body - Gövde öğesini "#PCDATA" türünde tanımlar
İpucu: #PCDATA, ayrıştırılabilir karakter verileri anlamına gelir.
Varlık Bildirimi için DTD Kullanma
Bir DOCTYPE bildirimi, belgede kullanılan özel karakterleri veya dizeleri tanımlamak için de kullanılabilir:
Örnek
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Kendin dene "
İpucu: Bir varlığın üç bölümü vardır: bir ve işareti (&) ile başlar, ardından varlık adı gelir ve noktalı virgül (;) ile biter.
DTD Ne Zaman Kullanılır?
Bir DTD ile, bağımsız insan grupları, veri alışverişi için standart bir DTD kullanmayı kabul edebilir.
DTD ile dış dünyadan aldığınız verilerin geçerliliğini doğrulayabilirsiniz.
Kendi verilerinizi doğrulamak için bir DTD de kullanabilirsiniz.
DTD'yi incelemek istiyorsanız, lütfen DTD Eğitimimizi okuyun .
Ne Zaman DTD KULLANILMAMALIDIR?
XML bir DTD gerektirmez.
XML ile denemeler yaparken veya küçük XML dosyalarıyla çalışırken DTD'ler oluşturmak zaman kaybı olabilir.
Uygulamalar geliştiriyorsanız, bir DTD eklemeden önce spesifikasyonun kararlı olmasını bekleyin. Aksi takdirde, yazılımınız doğrulama hataları nedeniyle çalışmayı durdurabilir.