Document Type Definition

P. Klapzobacsek - archivní verze

Každý správně formátovaný HTML dokument by měl na začátku obsahovat informace o verzi použitého HTML a typu DTD (Document Type Definition). DTD je jinými slovy návod pro prohlížeč zpracovávající dokument. Říká mu, jaké elementy dokument používá a jak s nimi zacházet. Element DOCTYPE není součástí HTML dokumentu, není elementem HTML a nemusí mít koncovou značku. 

Doctype v HTML 4.01

HTML 4.01 definuje 3 základní definice DTD:

Striktní: HTML 4.01 Strict DTD

deklarace:

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

případně:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Přechodovou: HTML 4.01 Transitional DTD

deklarace:

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

případně:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

S podporou rámců: HTML 4.01 Frameset DTD

deklarace:

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

případně:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">

Starší typy doctype

Těžko by chtěl dnes někdo používat např. "

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

tj. konečnou verzi HTML 3.2, nebo dokonce 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN">

tj. návrh verze HTML 3.2 z roku 1996.

Pozor: není-li uvedeno nic, je deklarován typ Strict! Např. toto je striktní:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

Ideální řešení

Zde popisované řešení velmi zastaralo. V roce 2010 doporučuju používat <!doctype html> a striktní mód.

V současné době (jaro 2003 pozn. redakce) je ideální řešení používat pro normální stránky HTML 4.01 Transitional DTD, protože může obsahovat vše až do verze HTML 4.01 včetně (i dále nepodporované tagy), a pro stránky s framesety HTML 4.01 Frameset DTD (stejné jako Transitional DTD + definice FRAMESET tagů). Stejně tak není asi pro tvůrce dobré používat Strict DTD u jakékoliv verze, protože kód potom správně nesmí obsahovat tagy (ani z předešlých verzí), které jsou ve standardu označovány jako nedoporučované.

Varianty zápisu viz výše - stačí používat zkrácenou verzi:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">

Poznámka na okraj (nechci jí nikoho urazit): //EN neznamená jazykovou verzi HTML, ale DTD! Nelze tedy uvádět //CZ, protože DTD HTML je definován vždy pouze v //EN.

Doctype pro XHTML

Pro lidi, kteří se tím živí a musí být v obraze nebo pro ty, co chtějí být v obraze, je tu již dnes XHTML 1.0 resp. 1.1, které má taky tři definice DTD, korespondující s definicemi pro HTML 4.01:

Striktní:

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

Přechodovou:

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

S podporou rámů:

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

Myslím, že i přes nechutně rozsáhlou dokumentaci HTML od W3C je použití DTD průhledné (bacha -- určitě jsem deformován povoláním). 

Takže: všichni směle používejme Document Type Definition!

Redakční poznámky

Tento text napsal P. Klapzobacsek.

Upravil Yuhů.

Poznámka autora pro Yuhůa: když z toho uděláš nějakej inteligentní vejcuc, tak to bude stravitelný i pro široký masy.

Poznámka Yuhůa pro široký masy: tak schválně.

 

Reklama

www.webhosting-c4.cz, extra rychlý SSD webhosting s doménou v ceně
o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

Základy Prvky stránek Tvorba webu

Jak psát web píše Yuhů, Dušan Janovský. Kontakt.