İçeriğe atla

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).[1] 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.[2]

DTD'ler

Sözdizimi

Bir belge türü beyanı için genel sözdizimi şöyledir:

<!DOCTYPE root-element PUBLIC "/quotedFPI/" "/quotedURI/" [ 
<!-- internal subset declarations -->
]>

veya

<!DOCTYPE root-element SYSTEM "/quotedURI/" [ 
<!-- internal subset declarations -->
]>

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 27 Haziran 2007 tarihinde Wayback Machine sitesinde arşivlendi. " 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.[3] 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.[4]

Örnek

Bir World Wide Web sayfasının ilk satırı aşağıdaki gibi olabilir:

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

Yaygın DTD'ler

Bazı yaygın DTD'ler listelere konulmuştur. W3C, "çıplak" HTML5 DTD'yi, eski XHTML/HTML DTD'leri, MathML ve SVG gibi yaygın gömülü XML tabanlı biçimlerin DTD'lerini ve bunları birleştiren "bileşik" belgeleri içeren, web'de yaygın olarak kullanılan DTD'lerin bir listesini oluşturmuştur.[5] Hem W3C HTML5 hem de karşılık gelen WHATWG sürümü, tarayıcıların yalnızca belirli FPI'lerin XHTML DTD'lerini kabul etmesini ve harici DTD dosyalarını getirmek yerine dahili mantığı kullanmayı tercih etmesini önerir. Ayrıca, yalnızca HTML varlık adlarının bir listesi olan XHTML için bir "dahili DTD" belirtir.[6] : §13.2 

HTML 4.01 DTD'ler

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"
   "http://www.w3.org/TR/html4/strict.dtd">
 <html>

Geçiş DTD'si, kullanımdan kaldırılmış bazı eski PUBLIC ve özniteliklere izin verir:

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

Frame (HTML ögesi) kullanılıyorsa, bunun yerine şunun gibi Frameset DTD kullanılmalıdır:

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

XHTML 1.0 DTD'ler

XHTML'nin DTD'leri de Strict, Transitional ve Frameset'tir.

XHTML Katı DTD. Kullanımdan kaldırılan etiketler desteklenmez ve kod, XML Spesifikasyonuna göre doğru yazılmalıdır.

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

XHTML Transitional DTD, XHTML Strict DTD'ye benzer, ancak kullanımdan kaldırılan etiketlere izin verilir.

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

XHTML Çerçeve Kümesi DTD, Çerçeve Kümesini destekleyen tek XHTML DTD'dir. DTD aşağıdadır.

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

XHTML 1.1 DTD

XHTML 1.1, XHTML'nin en güncel nihai revizyonudur ve XHTML Modülerleştirme desteği sunar. XHTML 1.1, XHTML 1.0 Strict katılığına sahiptir.

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

XHTML Temel DTD'leri

XHTML Temel 1.0

<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML Basic 1.0//EN"
  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

XHTML Basic 1.1

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

HTML5 DTD'siz DOCTYPE

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 .[7] Spesifikasyon taslağının sözleriyle:

<!DOCTYPE html> 29 Kasım 2012 tarihinde Wayback Machine sitesinde arşivlendi., 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, " <!DOCTYPE html> <!DOCTYPE html> ". 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.

DOCTYPE, XHTML5'te isteğe bağlıdır ve basitçe atlanabilir.[8] Ancak işaretleme hem XML hem de HTML olarak işlenecekse DOCTYPE kullanılmalıdır.[9]

Ayrıca bakınız

Kaynakça

  1. ^ HTML2 25 Mart 2023 tarihinde Wayback Machine sitesinde arşivlendi. HTML3 25 Aralık 2021 tarihinde Wayback Machine sitesinde arşivlendi. HTML4 7 Mayıs 2023 tarihinde Wayback Machine sitesinde arşivlendi.
  2. ^ "The HTML syntax ― HTML5". 1 Eylül 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Haziran 2011. 
  3. ^ "DOCTYPE Declaration". msdn.microsoft.com. 14 Eylül 2008 tarihinde kaynağından arşivlendi. 
  4. ^ "The DOCTYPE Declaration". 14 Ağustos 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Eylül 2011. 
  5. ^ "W3C QA - Recommended list of Doctype declarations you can use in your Web document". www.w3.org (İngilizce). 18 Kasım 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mart 2019. 
  6. ^ "HTML Standard". html.spec.whatwg.org. 15 Aralık 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mart 2019. 
  7. ^ "The HTML syntax ― HTML5". Web Hypertext Application Technology Working Group. 1 Eylül 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Haziran 2011. 3. A string that is an ASCII case-insensitive match for the string "DOCTYPE". 5. A string that is an ASCII case-insensitive match for the string "HTML". 
  8. ^ "The XHTML syntax ― HTML5". Web Hypertext Application Technology Working Group. 18 Haziran 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Eylül 2009. 
  9. ^ "Polyglot Markup: HTML-Compatible XHTML Documents". World Wide Web Consortium. 29 Haziran 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2012. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">RSS</span>

RSS, genellikle haber sağlayıcıları, bloglar ve podcastlar tarafından kullanılan, yeni eklenen içeriğin kolaylıkla takip edilmesini sağlayan bir web sayfası bildirimcisidir. Kullandığı dosya biçimleri .rss ve .xml'dir.

XML Bağlantı Dili veya kısaca XLink, XML dokümanlarının bağlantılarını yönetmeye yarayan bir dildir. W3C standardıdır.

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

<span class="mw-page-title-main">XSLT</span> Bilgisayar dosya uzantısı

XSLT ya da tam adıyla Extensible Stylesheet Language Transformations, XML tabanlı, XML dokümanlarını dönüştürmek için kullanılan bir dildir. Orijinal dokümanı değiştirmeden, yeni bir doküman oluşturmaya olanak sağlar.

Kaynak Tanımlama Çerçevesi, metadata model olarak tasarlanmış bir World Wide Web Consortium (W3C) spesifikasyonu olmasına rağmen, çeşitli sözdizim biçemlerinde bilgi modellemek için kullanılan genel bir metoda dönüşmüştür.

DTD, belge sözdizimi kurallarını tanımlayan işaretleme kuralları kümesidir.

Site haritası protokolü sayesinde bir web tasarımcısı arama motorlarını, bir web sitesindeki taranacak URLler hakkında bilgilendirebilir. Bir site haritası bir sitedeki URLleri listeleyen bir XML dosyasıdır. Bu dosya sayesinde web tasarımcıları, taranacak sayfalarının üzerinde daha fazla kontrole sahip olurlar. Arama motorlarına hangi sayfanın ne sıklıkla değiştiği, en son ne zaman güncellendiği ve sitedeki hangi sayfa diğerlerinden daha önemli, öncelikli gibi bilgileri bu dosya ile gönderebilirler. Bu yolla arama motorları web sitelerini tararken daha verimli olabilmektedirler. Site haritaları yapı itibarıyla robots.txt URL hariç tutma protokolünün tamamlayıcısı olan bir URL dahil etme protokolüdür.

<span class="mw-page-title-main">SOAP</span>

SOAP , Service-oriented Architecture felsefesini pratiğe uyarlayan iki interface'den biridir. Üzerinde bulunan Universal Description Discovery and Integration (UDDI) ile birlikte hizmet yönelimli mimarinin pratikte kullanılmasını mümkün kılar.

Smarty, PHP ile yazılmış bir şablon motorudur. Özellikle web geliştirirken tasarım ve yazılım süreçlerinin birbirinden bağımsız hale getirilmesini sağlayan bir araç olarak tanınmaktadır.

Apache Wicket veya kısaca Wicket Java programlama dili için bileşen tabanlı hafif bir web uygulama kütüphanesidir. Jonathan Locke tarafından geliştirilmeye başlanmış ve ilk sürümü 2005 yılında çıkmıştır.

KompoZer, açık kaynak kodlu ve özgür bir HTML editorüdür. Artık geliştirilmeyen Nvu adlı programın devamı niteliğindedir.

<span class="mw-page-title-main">HTML5</span> web programlama dili HTMLnin en güncel sürümü

HTML5, İnternet'in çekirdek teknolojilerinden HTML işaretleme standardının beşinci sürümüdür. Internet Explorer, Mozilla Firefox ve Opera tarayıcılarının güncel sürümleri tarafından kısmen desteklenmektedir. Kısaca H5 Google Chrome ve Safari tarayıcılarının güncel sürümleri üzerinde deneme aşamasında da olsa çok daha iyi bir şekilde çalışmaktadır. Günümüzde kullanılan HTML 4.1 sürümü, CSS desteğiyle ne kadar düzenli ve sağlam bir yapıda kodlanırsa kodlansın, yine de fazladan yazılan kodların fonksiyonelliğini bozduğu bilinmektedir. Bu yüzden HTML5, bu ihtiyaçları karşılamak adına geliştirilmeye başlanmıştır. Video paylaşım sitesi YouTube, deneme aşamasında HTML5'i kullanıcılarına sunmaktadır.

GPX veya GPS eXchange Format, XML taslağı gibi tasarlanmış yazılım uygulamaları için ortak bir GPS veri biçimidir.

<span class="mw-page-title-main">SGML</span> işaretleme dili

Standard Generalized Markup Language doküman işaretleme dillerinin tanımlanması için belirlenen standartlardır.

VoiceXML (VXML), insan ile bilgisayar arasındaki interaktif medya ve ses diyaloglarını belirten dijital dosya standardıdır. Otomatik müşteri hizmetleri servisi ve banka sistemleri gibi sesli cevap kullanımının olduğu uygulamaların geliştirilmesinde kullanılır.

Cross-Origin Resource Sharing (CORS), bir web sayfası üzerindeki bazı kaynakların, kaynağın sunulduğu alan adının dışındaki bir alan adından istenebilmesine izin veren bir mekanizmadır. Bir web sayfası, özgürce kökler arası resimleri, stil sayfalarını, betikleri ve videoları ekleyebilmektedir. Ancak, bazı “alanlar arası” istekler, özellikle Ajax istekleri, Aynı Kök Politikası nedeniyle varsayılan olarak yasaklanmıştır.

SyncML (Synchronization Markup Language) platform bağımsız bilgi senkronizasyonu standardıdır. Proje şu anda Open Mobile Alliance Veri Senkronizasyonu ve Cihaz Yönetimi olarak adlandırılmaktadır. SyncML'nin amacı, çoğunlukla birtakım satıcı, uygulama veya işletim sistemine özgü olan mevcut veri senkronizasyon çözümlerinin yerini alan bir açık standart sunmaktır.

XML Harici Varlık saldırısı, XML girdilerini ayrıştıran bir uygulamaya karşı yapılan bir saldırı türüdür. Bu saldırı, harici bir varlığa referans içeren XML girdisi eksik yapılandırılmış bir XML ayrıştırıcısı ile işlendiğinde gerçekleşir. Bu saldırı gizli verilerin ifşasına, hizmet dışı bırakmaya, sunucu taraflı istek sahteciliğine, ayrıştırıcının bulunduğu makine tarafında port taramaya ve başka sistem etkilerine yol açabilir.

Mikro veri, meta verileri web sayfalarındaki mevcut içeriğin içine yerleştirmek için kullanılan bir WHATWG HTML spesifikasyonudur. Arama motorları, web tarayıcıları ve tarayıcılar bir web sayfasından Mikro Verileri ayıklayıp işleyebilir ve kullanıcılar için daha zengin bir göz atma deneyimi sağlamak için kullanabilir. Arama motorları, bu yapılandırılmış verilere doğrudan erişimden büyük ölçüde yararlanır çünkü web sayfalarındaki bilgileri anlamalarına ve kullanıcılara daha alakalı sonuçlar sağlamalarına olanak tanır. Mikro veriler, bir öğeyi açıklamak için destekleyici bir kelime dağarcığı ve özelliklerine değerler atamak için ad-değer çiftlerini kullanır. Mikro veri, benzer RDFa ve mikro biçimler kullanım yaklaşımlarına göre, HTML öğelerine makine tarafından okunabilir etiketlerle açıklama eklemenin daha basit bir yolunu sağlama girişimidir.

<span class="mw-page-title-main">Web şablon sistemi</span>

Web yayıncılığı'ndaki web şablon sistemi, web tasarımcılarının ve geliştiricilerin, bir aramanın sonuçları gibi özel web sayfa'larını otomatik oluşturmak için web şablonları ile çalışmasına olanak tanır. Bu, dinamik öğeleri web isteği parametrelerine dayalı olarak tanımlarken statik web sayfası öğelerini yeniden kullanır. Web şablonları statik içeriği destekleyerek temel yapı ve görünüm sağlar. Geliştiriciler içerik yönetim sistemlerinden, Web uygulama iskeletlerinden ve HTML düzenleyicilerinden şablonları kullanabilir.