Пређи на садржај

Document type declaration

С Википедије, слободне енциклопедије

Декларација типа докумената, или DOCTYPE, је инструкција која повезује посебан SGML или XML документ (на пример, веб страница са дефиницијом типа документа (ДТД) (на пример, формална дефиниција посебне верзије HTML-а).[1] У серијализационој форми документа, огледа се као кратак низ обележавачких језика који одговарају посебној синтакси.

HTML распоређивачка машина у модерним веб прегледачима извршава DOCTYPE "њушкање" or "пребацивање", где DOCTYPE у документу постављен као text/html одређује начин распоређивања, као нпр. "quirks mode" или "стандардни начин распоређивања". text/html серијализација HTML5, који није базиран на SGML-у, користи DOCTYPE само за начин селекције. Откад је веб прегледач уграђен са специјално намењеним HTML парсером, више него генерално намењеним ДТД-базираним парсерима, они не користе ДТД и никада му неће приступити док је URL обезбеђен. DOCTYPE је задржан у HTML5 као "већином бескорисно, али тражено" заглавље само да активира "стандардни начин" у уобичајеним прегледачима.[2]

ДТД[уреди | уреди извор]

Синтакса[уреди | уреди извор]

Уобичајена синтакса за ДТД је:

<!DOCTYPE root-element PUBLIC "FPI" ["URI"] [ 
<!-- интерни подсет декларација -->
]>

или

<!DOCTYPE root-element SYSTEM "URI" [ 
<!-- интерни подсет декларација -->
]>

У XML-у, корени елемент који представља документ је први елемент у документу. На пример, у XHTML-у, корени елемент је <html>, тако што је први елемент који се отвара (после DOCTYPE декларације) и последњи затвара. Кључне речи SYSTEM и PUBLIC показују који тип декларације типа докумената (ДТД-а) је у питању (први је на приватном систему, а други је отворен за јавност). Ако је изабрана кључна реч PUBLIC онда је ова кључна реч праћена ограниченом формом "јавни идентификатор" назван Формални јавни идентификатор (ФЈИ) приложен двоструким наводницима. После тога, неопходан "системски идентификатор" приложен двоструким наводницима, је обезбеђен. На пример, ФЈИ за XHTML 1.1 је "-//W3C//DTD XHTML 1.1//EN" и, постоје 3 могућа системска идентификатора доступна за XHTML у зависности од потреба, једна од њих је URI препорука "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd". Ако се уместо тога изабере кључна реч "SYSTEM", потребно је дати само системски идентификатор. То значи да XML парсер мора да лоцира ДТД на системско-специфичан начин, у овом случају помоћу URI препоруке ДТД-а са двоструким наводницима. Последњи део, означен угластим заградама ([]) се зове интерни подсет који може да се користи да се додају/измене понашања кључне речи "PUBLIC".[3] Интерни подсет је увек опционалан (и понекад чак забрањен у оквиру једноставних СГМЛ профила, углавном оних за основне XTML парсере који не имплементују пуни СГМЛ парсер).

Са друге стране, декларација типа докумената су мало другација у СГМЛ-базираним документима као што је XTML, где се јавни идентификатор може асоцирати са системским идентификатором. Ова асоцијација се мозе извршити, нпр. користећи каталогни фајл придајући ФЈИ системском идентификатору.[4]

Пример[уреди | уреди извор]

Први ред многих World Wide Web страница је:

<!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 укључује, по препоруци ДТД-а, чији је јавни идентификатор, -//W3C//DTD XHTML 1.0 Transitional//EN и чији је системски идентификатор http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd. ". Entity resolver може да користи један од та два идентификатора за лоцирање поменутог спољног лица. Интерни подсет није указан у овом примеру или у следећим. Коренски елемент је декларисан да буде htmlи стога је први "таг" који се отвара после краја декларације типа документа у овом примеру као и у следећим. html "таг" није део декларације типа документа али је укључен у примере ради оријентације.

HTML 4.01 DTDs[уреди | уреди извор]

Стриктни ДТД не дозвољава презентациону ознаку са аргументима која Cascading Style Sheets треба да користи уместо тога. Ово је како стриктни ДТД изгледа:

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

Прелазни ДТД дозвољава старији PUBLIC и атрибуте који су застарели:

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

Ако су коришћени рамови, сет рамова ДТД мора бити искоришћен на овакав начин:

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

XHTML 1.0 DTDs[уреди | уреди извор]

XHTML-ови ДТД-ови су такође стриктни, прелазни и сетови рамова.

XHTML стриктни ДТД. Ниједан застарели таг није подржан и код мора да буде исправно написан.

 <?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 прелазни ДТД је као XHTMLов стриктни ДТД, али застарели тагови су дозвољени.

 <?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ов сет рамова ДТДа је једини XHTML ДТД који подржава сет рамова. ДТД је испод.

 <?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а, увођењем подршке за XHTML Modularization. XHTML 1.1 има строгост стриктног XHTMLа 1.0.

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

XHTML основе ДТДа[уреди | уреди извор]

XHTML основе 1.0

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

XHTML основе 1.1

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

XHTML мобилни профил ДТДа[уреди | уреди извор]

XHTML Mobile Profile 1.0

<!DOCTYPE html PUBLIC
  "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
  "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

XHTML мобилни профил 1.1

<!DOCTYPE html PUBLIC
  "-//WAPFORUM//DTD XHTML Mobile 1.1//EN"
  "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">

XHTML мобилни профил 1.2

<!DOCTYPE html PUBLIC
  "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
  "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">

HTML5 ДТД без DOCTYPE-а[уреди | уреди извор]

HTML5 користи DOCTYPE декларацију типа документа која је веома кратка, због недостатка препорука на ДТД у форми URL-а или ФЈИ-а. Све сто садржи је име ознаке коренског елемента документа, HTML.[5] Речима из саме спецификације:

Другим речима, <!DOCTYPE html>, није словно осетљив.

Са изузетком недостатка URI-а или ФЈИ стринга стринга (ФЈИ стринг се третира словно осетљивим од стране валидатора), овај формат (словно осетљив стринг <!DOCTYPE HTML) је исти као и у синтакси SGML базираног HTML 4.01 DOCTYPE. У HTML4 и HTML5, формална синтакса се дефинише великим словима, чак и ако се микс већих и мањих слова сматра исправним.

У XHTML5, DOCTYPE мора бити словно осетљивог стринга "<!DOCTYPE html>". Ово се дешава зато што је у XHTML-у синтакса свих HTML PUBLIC захтевана да буде малим словима, укључујући коренски елемент препоручен у HTML5 DOCTYPE. Такође, XHTML прихвата само велика слова унутар DOCTYPE string.[тражи се извор]

DOCTYPE је опционалан у XHTML5 и може једноставно да буде изостављен.[6] Али, ако означавање треба обрадити као XML и HTML, DOCTYPE треба да се користи.[7]

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ „35 Helpful HTML & HTML5 Interview Questions & Answers”. Архивирано из оригинала 17. 02. 2015. г. Приступљено 19. 2. 2015. 
  2. ^ „The HTML syntax ― HTML5”. Приступљено 5. 6. 2011. 
  3. ^ DOCTYPE Declaration
  4. ^ „Архивирана копија”. Архивирано из оригинала 14. 08. 2011. г. Приступљено 26. 05. 2015. 
  5. ^ „The HTML syntax ― HTML5”. Web Hypertext Application Technology Working Group. Приступљено 5. 6. 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". 
  6. ^ „The XHTML syntax ― HTML5”. Web Hypertext Application Technology Working Group. Архивирано из оригинала 7. 06. 2012. г. Приступљено 1. 9. 2009. 
  7. ^ „Polyglot Markup: HTML-Compatible XHTML Documents”. World Wide Web Consortium. Приступљено 17. 1. 2012. 

Спољашње везе[уреди | уреди извор]