DTD - Doctype Kullanımı Nasıl Olur ? Standartlara Göre Kod Nasıl Yazılır ?




DTD - Doctype Kullanımı Nasıl Olur ? 

Standartlara Göre Kod Nasıl Yazılır ?




DOCTYPE tagının  görevi HTML sayfasının hangi HTML versiyonu ile yazıldığını  web tarayıcısına bildirmek olarak belirlenmiştir .

DOCTYPE Tagı

 Web dökümanlarımızın tarayıcı tarafından nasıl görüntüleneceğini  ve bu görüntüleme işlemi sırasında hangi standart ve tanımlamaları (DTD: Document Type Definitions / Doküman türü tanımlamaları) kullanacağını belirten ve (X)HTML kod yazma alanlarının en üst kısmında yer alan tanımlamalardır . 
DocType; sayfada kullanılan standartı browsera (tarayıcı) bildirmek için kullanılan bir yöntemdir.

Her alanda gerçekleşen gelişmeler tabi ki bilişim sektöründe de geçelerdir . Artık web tarayıcılarımız kullandığımız belge tipine göre sayfayı standart kipde (standards mode) kurallara uygun şekilde farklı yorumlanmaktadır.
Hiçbir belge tipi kullanmadığında ise sayfa eski usul garip kipde (Quirks mode) yorumlanmaktadır.
Standartlara uyum için geliştirilmiş olan DocType bile kesin bir çözüm getirememiştir. 

DTD; belgede kullanılan etiketlerin ve bu etiketlerin özelliklerinin doğru yazılması için hangi kurallara uyulması gerektiğini bildiren, SGML (Standard Generalized Markup Language) dilinde hazırlanmış bir dosyadır.

XHTML; EXtensible Hypertext Markup Language kelimelerinden türetilmiştir.

HTML`nin yetersizliğinden dolayı, W3C (World Wide Web Consortium) tarafından 2000 yılında kabul edilmiş bir dildir.

HTML 4.01 sürümü ile benzerlik gösteren, kesin kurallara bağlı, HTML`nin XML olarak düzenlenmiş halidir.

Şimdi öncelikle web sayfalarımızda bir doğrulama işlemi gerçekleştirelim . 

Arama motorumuzu açıp validator yazıyoruz .



Arama sonucunda çıkan listemizde The W3C Markup Validation Service başlıklı web sitemize giriş yapıyoruz . 

Peki ama neden ? diyoruz . 

Biz web dökümanlarımızı kod yazarak oluşturuyoruz lakin her ne kadar doğru olduğunu düşünürsek düşünelim hiyerarşik açıdan acaba kodlarımız doğru mu ?

Bu kodlar hangi hiyerarşiye göre yazılıyor ? Eğer hatalı hiyerarşik bir yapı var ise nasıl düzeltirim ?

İnternette bu kodların doğru yazılığ yazılmadığını kontrol eden çeşitli platformlar var . 

Biraz önce bahsettiğimiz web sitemiz de bu kontrolleri yapabileceğimiz web sitelerindendir . 

Arama sonucunda çıkan web adlarının listesinde yer alan ve aynı zamanda bizimde kullanacağımız sitenin başlığında yer alan isim olan The W3C Markup Validation Service bu standartları belirleyen kurumdur . 

Web sitesine ulaştığımızda 3 adet başlık var . 



  1. Validate By URL  : Direkt sitemizin adını yazarak doğrulama yapabiliriz .

  2. Validate By File Upload :  Doğrulama yapmak istediğimiz belgeyi yükleyebiliriz .

  3. Validate By Direct Input : Yazmış olduğumuz kodları ilgili dosyadan kopyalayarak bu alana yapıştırarak doğrulama yapabiliriz . 
Ben web sitemiz adını yazacağım . 


Ardından Check komut düğmesini tıklayarak doğrulama işlemi için taramayı başlatıyorum . 

Bu doğrulama işlemi tamamlandığında sonuç ekranında karşımıza kodlarımız ile ilgili hata var mı ? , eğer hata varsa hangi satırlarda yer alıyor ? bu hatalar nedir ? sorularına cevap bulabiliriz . 



Ve doğrulama işlemi sonucunda hata ekranımız karşımızda yer alıyor . 

Error ve Warning olmak üzere iki çeşit hata ile karşılaşıyorum . Bu hatalardan warning hatasının acilen düzeltilmesi gerekir . 

Bu hataları düzeltmek SEO açısından oldukça önemlidir . 

Şimdi sıra geldi web sitemizde yer alan hatalarımızı düzeltme işlemine . Web sitemde yer alan hataları nasıl düzelteceğim ? 

İlk yapmamız gereken şey döküman  tipimizi tanımlamak olacaktır . 

Ya internetten hazır bulacaksınız ya da siz araştırıp oluşturacaksınız . 

Ben internetten hazır bulacağım . 

Arama motorumuza DOCTYPE yazalım . 


Ve karşımıza çıkan web sitesi arama sonucu listesinde http://www.w3.org sitesine giriş yapıyoruz . 



Bu listede yer alan size uygun gördüğünüz kodları kopyalayıp web sitenizde ilgili alana yapıştırıp , tekrar doğrulama yapabilirsiniz . 

Ben 

XHTML 1.1 - DTD:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


kodarını alacağım . 

Kullanılabilir DocType`lar:


HTML 5


<!DOCTYPE html>

HTML 4.01 Strict


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional (Bu şekil DTD belirtmeyince tarayıcılar garip kipde çalışır)


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

HTML 4.01 Transitional URI


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">



XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">


XHTML 1.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">