Tasarım prototipleri üzerinden hazırlanan geçerli(valid) XHTML dokümanlarının ilk satırına baktığımızda gördüğümüz tek satırlık bir cümle vardır. Kısaca DTD (Doküman Tip Tanımlaması) olarak adlandırılan bu satırda, hazırlanmış olan sayfanın hangi dil ve hangi esneklikle yazıldığına dair bilgileri buluruz. Bu tanımlamanın yapılmasında amaç web sayfasını tarayıcıya tanıtmak ve böylece de tarayıcı tarafından doğru şekilde yorumlanmasını (render) sağlamaktır.http://tr.wikipedia.org/wiki/DTDhttp://www.w3schools.com/DTD/default.asphttp://en.wikipedia.org/wiki/Document_Type_DefinitionOluşturulan içeriğin yapısına ve ihtiyaçlarına göre doğru DTD’yi seçmek gerekmektedir. W3C, ihtiyacımız çerçevesinde kullanılmak üzere geçerli DTD’leri kendi sitesinde tavsiye etmiştir.http://www.w3.org/QA/2002/04/valid-dtd-list.htmlPeki, Hangi DTD?
Kullanılacak DTD, hazırladığımız HTML/XHTML dokümana göre seçilmelidir. Eğer çalışmanızda HTML 4.0 kullandıysanız, XHTML’e ait bir DTD’yi kullanamazsınız. Ya da eğer frame (çerçeve) içeren bir web uygulaması gerçekleştiriyorsanız buna uygun bir DTD seçmeniz gerekmektedir.Strict, Transitional ve Frameset?
Buna ek olarak günümüz web uygulamalarında kullanılacak dile ait Strict (Katı), Transitional (geçiş) ve Frameset olmak üzere üç ayrı DTD bulunmaktadır. Örnek olarak aşağıda XHTML 1.0 için W3C’un önerdiği DTD’leri görmektesiniz.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">Frameset adından da anlaşıldığı gibi frame(çerçeve) içeren XHTML dokümanlarında kullanılmak üzere önerilmiştir. Strict kullanılan bir dokümanda ise XHTML 1.0’ın bütün kurallarını tavizsiz uygulanmaktadır. Eğer bu kuralların uygulanması konusunda enselik göstermek istiyorsanız o zaman Transitional DTD’yi seçmeniz uygun olacaktır.Neymiş Bu Kurallar?
Aşağıda hızlıca örneklemeye çalıştım;* XHTML’de bütün etiketler kapatılmak zorundadır.DOĞRU: <a href=”sayfam.html”>Sayfam</a>YANLIŞ: <a href=”sayfam.html”>Sayfam ?* Bütün etiketler, özellikler ve değerler küçük harfle yazılmalıdır.DOĞRU: <a href=”sayfam.html”>Sayfam</a>YANLIŞ : <A hRef=”sayfam.html”>Sayfam</a>* Bütün özellikler “özellik” şeklinde tırnak içerisine alınmalıdır.DOĞRU: <a href=”sayfam.html”>Sayfam</a>YANLIŞ: <a href=sayfam.html>Sayfam</a>* Bütün etiketler doğru bir şekilde birbiri içerisine konulmuş olmalıdır.DOĞRU: <p><a href=”sayfam.html”>Sayfam</a></p>YANLIŞ: <p><a href=”sayfam.html”>Sayfam</p></a>YANLIŞ: <a href=”sayfam.html”> <p>Sayfam</p></a>Peki, Ya Yanlış DTD Seçersem?
Doğru seçilmeyen DTD’ler tarayıcının kafasının karışmasına, geçersiz bir HTML/XHTML sayfasının oluşmasına, buna bağlı olarak da tarayıcı yorumlamasında tutarsızlıklara ve hatalara sebebiyet verecektir. Bu anlamda geçerli bir web sayfasının oluşmasında ilk adım doğru DTD’nin seçilmesiyle başlar.Komple DTD’yi Silersem?
Bazı web geliştiricilerin yaptığım en vahim hata DTD tanımlamasının yapmamaktır. DTD tanımlamasının hiç yapılmamış olması, tarayıcının Standart Mod’da çalışmamasına sebep olacaktır. Bu durumda tarayıcı Quirk Mod denilen bir modda sayfaları yorumlamaya çalışacaktır.
http://en.wikipedia.org/wiki/Quirks_modeQuirk Mod’un argoda tam karşılığı “tarayıcının kafasına göre takılmasıdır”. Bu da web geliştiricisi için istenmeyen bir durumdur.