Belge türü beyanı

Bir belge türü beyanı (document type declaration) veya DOCTYPE, belirli bir XML veya SGML belgesini (örneğin, bir web sayfası) bir belge türü tanımıyla (DTD) (örneğin, belirli bir HTML 2.0 sürümünün resmi tanımı -) ilişkilendiren bir talimattır. 4.0). Belgenin serileştirilmiş biçiminde, belirli bir sözdizimine uyan kısa bir işaretleme dizisi olarak ortaya çıkar.

Modern web tarayıcılarındaki HTML yerleşim motorları, DOCTYPE "koklama" veya "anahtarlama" gerçekleştirir; burada text/html olarak sunulan bir belgedeki DOCTYPE, " tuhaflıklar modu " veya "standartlar modu" gibi bir düzen modunu belirler. HTML5'in SGML tabanlı olmayan text/html serileştirmesi, DOCTYPE'ı yalnızca mod seçimi için kullanır. Web tarayıcıları, genel amaçlı DTD tabanlı ayrıştırıcılar yerine özel amaçlı HTML ayrıştırıcılarla uygulandığından, DTD'leri kullanmazlar ve bir URL sağlanmış olsa bile bunlara asla erişmezler. DOCTYPE, HTML5'te "çoğunlukla işe yaramaz, ancak yalnızca yaygın tarayıcılarda" standartlar modunu "tetiklemek için gerekli" bir başlık olarak tutulur.

]> XML'de, belgeyi temsil eden kök öğe, belgedeki ilk öğedir. Örneğin, XHTML'de, kök öğe <html> şeklindedir, açılan ilk öğedir (doctype beyanından sonra) ve son kapatılır. SYSTEM ve PUBLIC anahtar sözcükleri, bunun ne tür bir Belge Türü Tanımı (DTD) olduğunu (özel bir sistemdeki veya halka açık olan) önerir. PUBLIC anahtar sözcüğü seçilirse, bunu çift tırnak içine alınmış Resmi Genel Tanımlayıcı (FPI) adı verilen sınırlı bir "genel tanımlayıcı" biçimi takip eder. Genel tanımlayıcıyı, aynı şekilde çift tırnaklı bir "sistem tanımlayıcısı" takip edebilir. Örneğin, XHTML 1.1 için FPI "-//W3C//DTD XHTML 1.1//EN" şeklindedir ve XHTML 1.1 için ihtiyaca bağlı olarak 3 olası sistem tanımlayıcısı mevcuttur. Bunlardan biri " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " URI referansıdır. Bunun yerine SYSTEM anahtar sözcüğü seçilirse, yalnızca bir sistem tanımlayıcı sağlanır. Bu, XML ayrıştırıcısının DTD'yi sisteme özel bir şekilde, bu durumda DTD'nin çift tırnak içine alınmış bir URI referansı aracılığıyla bulması gerektiği anlamına gelir. Köşeli parantezler ([]) ile çevrili son kısım, varlıkları eklemek/düzenlemek veya KAMU anahtar kelime davranışlarını eklemek/düzenlemek için kullanılabilen dahili bir alt küme olarak adlandırılır. Dahili alt küme her zaman isteğe bağlıdır (ve hatta bazen basit SGML profillerinde, özellikle de tam bir SGML ayrıştırıcısı uygulamayan temel HTML ayrıştırıcılarında yasaklanmıştır).

XHTML belgelerinde, doctype bildirimi her zaman açıkça bir sistem tanımlayıcısı belirtmelidir. Öte yandan, HTML gibi SGML tabanlı belgelerde, uygun sistem tanımlayıcısı, verilen genel tanımlayıcıdan otomatik olarak çıkarılabilir. Bu ilişkilendirme, örneğin, FPI'yi bir sistem tanımlayıcısına çözümleyen bir katalog dosyası aracılığıyla gerçekleştirilebilir.

<html lang="ar" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">XHTML için bu belge türü bildirimi, genel tanıtıcısı -//W3C//DTD XHTML 1.0 Transitional//EN ve sistem tanımlayıcısı http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd olan bir DTD'yi referans olarak içerir. http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd . Bir varlık çözümleyici, başvurulan harici varlığı bulmak için tanımlayıcılardan herhangi birini kullanabilir. Bu örnekte veya sonraki örnekte hiçbir dahili altküme belirtilmemiştir. Kök öğe html olarak bildirilir ve bu nedenle bu örnekte ve sonrakilerde de doctype bildiriminin bitiminden sonra açılacak ilk etikettir. HTML etiketi, doctype bildiriminin bir parçası değildir, ancak oryantasyon amacıyla örneklere dahil edilmiştir.

Strict DTD, bunun yerine CSS kullanılması gerektiği argümanıyla sunumsal işaretlemeye izin vermez. Strict DTD şu şekilde görünür: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

HTML5, bir URL veya FPI biçiminde bir DTD'ye atıfta bulunmaması nedeniyle çok kısa olan bir DOCTYPE bildirimi kullanır. Tüm içerdiği, belgenin kök öğesinin etiket adıdır, HTML . Spesifikasyon taslağının sözleriyle: , case-insensitively.Bir URI veya FPI dizesinin olmaması dışında (FPI dizesi, doğrulayıcılar tarafından büyük/küçük harfe duyarlı olarak ele alınır), bu biçim (büyük/küçük harfe duyarlı olmayan ! DOCTYPE HTML ), SGML tabanlı HTML 4.01 DOCTYPE sözdiziminde bulunanla aynıdır. Hem HTML4'te hem de HTML5'te, hem küçük harf hem de küçük büyük harf karışımları da geçerli kabul edilse bile, resmi sözdizimi büyük harflerle tanımlanır.

XHTML5'te DOCTYPE, " ". Bunun nedeni, XHTML sözdiziminde, HTML5 DOCTYPE içinde başvurulan kök öğe de dahil olmak üzere tüm HTML öğesi adlarının küçük harf olması gerekmesidir.