Web taray?c? mod’lar?
Web taray?c? üreticileri geriye dönük uyumlulu?u sa?lamak için standarlara uygun taray?c?lar ç?kard?klar. Bunu ba?ard?lar, bu i?lem için iki mod ürettirler: standart mod(standards mode) ve garip mod(Quirks mode). Standart mod sayfa ayr?nt?l? olarak ve en iyi ?ekilde yorumlayacakt?r,Garip mod da ise eski moda taray?c?lardaki gibi daha duyars?z davranacaklard?r. Örne?in IE4 ve NN4 gibi.
Bu iki mod aras?ndaki fark? görebilemke için Windows üzerindeki IE’de kutu modeline bakmal?y?z. IE6 ba?lang?çta Standart Mod da Kutu Modeli do?ru görünürken Garip Mod da ise sorun ç?kar?r. IE5 ve a?a??s?nda bu sorun vard?r, ayr?ca Opera 7 ve üsrü Garip Mod da IE gibi davran?r. Bunun d???nda ufak tefek sorunlar da vard?r. Hekzedesimal renk tan?m?nda # kullan?m?na ihtiyaç duymama, CSS’de de?er kullan?lmad???nda birimi piksel olarak tan?nmas? vb. sorunlar olarak s?ralayabiliriz.
Mozilla ve Safaride bir üçüncü mod vard?r, ancak Standart Mod’dan çok önemli bir fark? yoktur.
DOCTYPE Geçi?leri
Web taray?c?lar? DOCTYPE bildirimi ve kullan?lan DTD’ye göre tarama metodunu belirler. Bi?r dökümanda DOCTYPE tan?m? yap?l?rsa bu sayfa Standart Mod da, yap?lmazsa Garip Mod da yorumlanacakt?r bu geçi?e DOCTYPE Geçi?i(DOCTYPE switching) ad? verilir.
- XHTML döküman?nda tam bir DOCTYPE tan?m? yap?ld? ise web taray?c?s? taramay? Standart Mod da yapacakt?r.
- HTML 4.01 döküman? için DOCTYPE ve strict DTD tan?m? yap?ld???nda sayfa web taray?c?s? taraf?ndan StandartMod da yorumlanacakt?r.
- DOCTYPE ve transtional DTD URI tan?ml? halin de Standart Mod da yorumlanacakt?r.
- DOCTYPE ve transtional DTD URI’siz ise Garip Mod da yorumlanacakt?r.
- Kötü formatlanan veya DOCTYPE kullan?m?lmayan dökümanlar HTML ve XHTML taraf?nda Garip Mod da yorumlanacaklard?r.
Web taray?c?lar?n?n DOCTYPE tiplerine göre farkl?l?klar?n? görmek için http://www.ericmeyeroncss.com/bonus/render-mode.html bir göz at?n.
Çok u?ra??p en iyi ve en do?ruCSS kodunu yazd?ktan sonra yanl?? DOCTYPE kulland???n?zda sayfan?z Garip Mod da yorumlanacakt?r ve bu size bir çok sorun olu?turacakt?r. Sitenizde tam DOCTYPE bildirimive strict DTD kullanman?z çok önelidir.
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Bu kullan?m sayfan?n HTML 4.01 kurallar?n?n geçerli oldu?u bir HTML dosyas? oldu?unu gösterir.
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Bu kullan?m sayfan?n hem HTML hemde XHTML kurallar?n?n geçerli oldu?unu bir XHTML dosyas? oldu?unu gösterir.
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Bu kullan?m sayfan?n sadece XHTML1.0 kurallar?n?n geçerli oldu?u bir XHTML sayfas? oldu?unu gösterir. Bu kodlama yap?ld????nda tüm XHTML kurallar?na harfiyen uyulmal?d?r. Örne?in kodlar?n hepsinin küçük harfle yaz?lmas? gibi.
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Bu kullan?m sayfan?n bir XHTML çerçeve(frame) sayfas? oldu?unu gösterir. Kullan?m? azald?.
- Q: Garip mod (Quirks mode)
- S: Standart mod
- A: K?sm? standart mod (Almost Standards mode)
Bu ba?lamda belli ba?l? baz? kavramlar kar??m?za ç?kmakta. Bunlar?n ba??nda da XHTML ile HTML aras?ndaki farklar? bilmekten geliyor. Bu iki türün neler olduklar?n? ve genel hatlar? ile kullan?m amaçlar?n? belirtmek gerekirse; geli?en web teknolojileri ve XML kaynakl? bir ortak veri standartlar?na do?ru yakla?t???m?z bu günlerde HTML'in bu ihtiyaçlar? kar??layamamas? ve modern tekniklere adapte edilememesinden dolay? XHTML (Extensible Hypertext Markup Language) bu ihtiyac? kar??lamak amac? ile ortaya ç?kt? diyebiliriz. XHTML'in getirdi?i ve birçok web tasar?mc? ve geli?tiricinin beklide en çok bildi?i fark tekil etiketlerin kapanmas? i?lemidir. (örne?in HTML içerisinde <br> olarak kullan?lan yeni sat?r etiketi XHTML içerisinde <br /> olarak kullan?lmal?d?r)
Fakat bu durum birçok geli?tirici taraf?ndan tam olarak alg?lanamam?? ve XHTML sanki HTML'in bir sonraki sürümüymü? gibi davran?p tüm sayfa yap?lar?n?n XHTML belirtimlerine ve kurallar?na uymas? gerekiyormu?ças?na sayfalar?n? yeniden yap?land?rm??lard?r. Bu sözü edilen sayfalarda hiçbir zaman W3C geçerlemelerinden geçemeyecek olan modern etiket çorbalar? olarak web dünyas?nda yerlerini alm??lard?r. XHTML türü için do?ru yap?land?rmalar hakk?nda daha kapsaml? bilgiyi makalenin sonundaki "Do?ru XHTML Sunumu" bölümünden edinebilirsiniz. XHTML cephesinde durum böyle bir de di?er yorum farklar?na deyinelim.
Do?ru XHTML Sunumu
?htiyaçlar?n?z ve istekleriniz do?rultusunda kullanman?z gereken "DOCTYPE" tan?mlamas?n? belirledikten sonra bu belirtime uygun bir sayfa in?a ederek W3C geçerlemeleri (Validator) taraf?ndan kabul gören sayfalar haz?rlayabilirsiniz. Neden sayfalar?m?z? geçerlememiz gerekti?i ve bunun için yapabileceklerimiz hakk?nda daha detayl? bilgiyi Roger Johansson'?n "Web Standartlar?n? Kullanarak Geli?tirmek" ba?l?kl? nefis makalesinden alabilirsiniz.
XHTML kullanmaya karar veren bir çok geli?tirici sadece "DOCTYPE" tan?mlamas? yap?p sayfa kodlar?n? XHTML uyumlu hale getirmenin yeterli oldu?unu dü?ünmekteler. Fakat XHTML'in temel amac? olan XML kaynakl? verilerin sayfa içerisinde sunumu i?levleri için "DOCTYPE" tan?mlamas?n?n yan? s?ra taray?c?n?n sunulan doküman? de?erlendirme ?eklini belirleyen "MIME Type" bilgisinin de do?ru gönderilmesi gerekmektedir. Standart olarak kulland???m?z HTML dokümanlar için MIME türü bilgisini "text/html" olarak belirtmek yeterlidir. Zira HTML bir "zengin metin" yap? dilidir ve metin olarak sunulup taray?c? taraf?ndan CSS kurallar? çerçevesinde yorumlan?r. Fakat XHTML bir uygulama türü olarak de?erlendirilmesi gereken bir yap? dilidir ve MIME türü bilgisi "application/xhtml+xml" olarak sunulmal?d?r. Bu MIME türü bilgisi taray?c?ya bu doküman?n bir XML verisi içerdi?ini ve bu çerçevede görüntülenmesini bildirir ki XHTML dokümanlar?n?n anlam kazanmas?n? sa?layan ?ey de budur zaten. Yap?lan en büyük hatalardan biri olan XHTML dokümanlar?n?n "text/html" olarak sunulmas? hakk?ndaki Ian Hickson taraf?ndan kaleme al?nan "XHTML dokümanlar?n?n text/html olarak gönderilmesinin zararlar?" ba?l?kl? makaleden konuya dair detayl? bilgi alabilirsiniz.
Peki, XHTML doküman?n? "text/html" olarak sunarsak ne olur? Cevap basit "Hiçbir?ey!" Yani doküman XHTML olmaktan ziyade bir metin doküman? olarak de?erlendirilecektir. Yani bir nevi "do?an görünümlü ?ahin" durumu söz konusu olacak, doküman XHTML olarak in?a edilmeye ba?lan?p sonuçta bir HTML doküman? olarak sunulacakt?r. Bu durum XHTML'in kullan?m amac?na hiç uymayan ve olmamas? gereken bir durumdur. Zira XHTML doküman?n?n XML verisi içerdi?ini ve bunun XML olarak taray?c? taraf?ndan de?erlendirilmesi gerekti?ini belirmi?tik.
Öte yandan XHTML'deki kat? yaz?m kural? hatalar? uyumlu bir taray?c? ile (Mozilla ve Opera'n?n son sürümleri) ekrana bir hata mesaj? ile yans?t?lacak ve ziyaretçinin sayfay? do?rudan görmesi engellenecektir. Fakat HTML ve ya "text/html" olarak sunulan dokümanlarda yaz?m kurallar? taray?c? taraf?ndan tolare edilebilecek düzeyde ise (bir tablo hücresinin eksik olmas? ya da kapanmayan bir etiket gibi) ziyaretçiye bir ?ey belirtmeden sayfa yorumlanmaya devam edecektir.
Burada hatal? yaz?m kural? içeren bir XHTML doküman?n?n geçerleme motorlar?ndaki geçerlemelerden olumlu cevap almas?ndan ziyade siteyi gezen ziyaretçi hata ile birebir muhatap olacak ve sayfay? göremeyecektir. Fakat "text/html" olarak sunulan HTML dokümanlar?ndaki hatalar sadece web tasar?mc?n?n sorunudur ve ziyaretçi taray?c?s?n?n yetenekleri ve hatan?n boyutu çerçevesinde sayfay? görüntülemeye devam edecektir.
XHTML kullan?m?n?n oldukça kat? kurallar çerçevesinde yorumland???n? söylemi?tik. Bu durum birçok geli?tiriciyi HTML kullanmaya yönelten ba?l?ca sebeplerden biridir. Örne?in HTML'de çal??san JavaScript kodlar?n?n ço?u XHTML dokümanlar?nda çal??mayacakt?r. Bunun sebebi XHTML dokümanlar?ndaki JavaScript kodlamalar?n?n tamamen DOM tabanl? olarak yap?lmas? gerekti?i gelmektedir.
HTML
HTML 4.01 specifies three document types: Strict, Transitional, and Frameset.
HTML Strict DTD
Use this when you want clean markup, free of presentational clutter. Use this together with Cascading Style Sheets (CSS):
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
HTML Transitional DTD
The Transitional DTD includes presentation attributes and elements that W3C expects to move to a style sheet. Use this when you need to use HTML's presentational features because your readers don't have browsers that support Cascading Style Sheets (CSS):
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Frameset DTD
The Frameset DTD should be used for documents with frames. The Frameset DTD is equal to the Transitional DTD except for the frameset element replaces the body element:
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> |
XHTML
XHTML 1.0 specifies three XML document types: Strict, Transitional, and Frameset.
XHTML Strict DTD
Use this DTD when you want clean markup, free of presentational clutter. Use this together with Cascading Style Sheets (CSS):
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
XHTML Transitional DTD
Use this DTD when you need to use XHTML's presentational features because your readers don't have browsers that support Cascading Style Sheets (CSS):
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
XHTML Frameset DTD
Use this DTD when you want to use frames!
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
To check that you have written a valid XHTML document with a correct DTD, you can link your XHTML page to an XHTML validator.
Attributes: NONE
Kaynak www.dw.gen.tr/makale/detay/doctype/ , www.fatihhayrioglu.com/ , www.w3schools.com/tags/tag_doctype.asp







