HTML ile XHTML Arasındaki Farklar

XHTML (Extensible Hypertext Markup Language) web tasarım standartlarına verilen adlardan biridir. HTML’in başında bulunan X harfi işaretleme dili olarak tanımlanan, XML’in (Extensible Markup Language) özelliklerinin HTML içerisinde kullanılabileceği anlamına gelmektedir.

Kısacası XHTML, XML uygulaması olarak tanımlanan HTML versiyonudur. XHTML HTML ye göre daha katı işaretleme kurallarına sahiptir. XHTML de aynı HTML gibi tüm web tarayıcıları tarafından desteklenmektedir.
HTML ile XHTML arasındaki fark, doctype’ın belgeye tanımlanmasından kaynaklanır. HTML’de doctype tanımlaması kısadır ve hiçbir kısıtlaması yoktur. XHTML’de birden fazla doctype tanımlaması ile farklı içerikler için kısıtlama yapılabilmesi sağlanabilir. Doctype tanımlaması XHTML’in bir parçası değildir ve asıl tanımlanma amacı belge içerisinde kullanılan elementlerin standartları için ek bir bağlantı sağlamasıdır. Özellikle XML kullanılan sayfalarda çok sık kullanılır. XHTML 3 tip belge bildirimi sunar. Bunlar strict, transitional ve frameset’dir.

Strict (katı)

Diğer 2 bildirime göre daha katı ve net bir denetleme sağlamaktadır. Genellikle CSS (Cascading Style Sheets) ile yapılan tasarımlarda strict (katı) tercih edilmektedir. Dolayısı ile browser’lar bu tercihe göre sayfadaki kodlamayı yorumlar. Kullanım şekli aşağıdaki gibidir.

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


Transitional (geçiş)

En çok kullanılmakta olan sayfa geçerliliği denetleyicisidir. Çünkü, strict’e (katıya) göre çok daha esnektir ve sayfadaki bazı yazım hatalarını göz ardı edebilir. Kullanım şekli aşağıdaki gibidir.

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


Frameset (çerçeve seti)

Genelde frame (çerçeve) kullanılan sitelerde sayfanın geçerliliğini denetlemede tercih edilmektedir. Kullanım şekli aşağıdaki gibidir.

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


HTML 5 ve daha sonrası sürümlerde yukarıdaki uzun bildirimlerin hiçbirini kullanmaya gerek yoktur. Kısaca aşağıdaki şekilde yazılabilir.

<!doctype html> 

XHTML ve HTML5 Arasındaki Temel Farklar

  • XHTML’de !DOCTYPE bu şekilde yazımı zorunludur. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd">
  • HTML5’te <!DOCTYPE HTML> bu şekilde yazım yeterli olmaktadır.
  • XHTML’de XMLNS ifadesi zorunludur. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  • XHTML de öğeler her zaman kapalı olmaldır. HTML de bu esnektir.
  • XHTML de öğeler her zaman düzgün bir şekilde yerleştirilmiş olmalıdır.
  • XHTML de etiketler ve attributes (öznitelikler) her zaman küçük harf olmak zorundadır.
  • XHTML de öznitelik öğeleri her zaman tırnak içerisinde yazılmalıdır.
  • HTML5 te <script></script> ifadesi içerisinde type=”text/javascript” yazımına gerek yoktur. <script> ifadesi bu özelliği otomatik olarak temsil etmektedir.
  • HTML5 te css linklenmesi <link rel =”stylesheet” href=”style.css”> şeklinde sade bir biçimde yapılmaktadır.
  • Yeni HTML etiketleri olan <header>, <footer>, <section>, <article>, <aside>, <nav>, <figure> gibi bir çok yeni etiket HTML’in en son versiyonu olan HTML5 e eklenerek geliştirilmiştir.
  • XHTML yukarıdaki zorunlulukları ve kısıtlamaları ile HTML5’ten farklılıklar göstermektedir.