Przejdź do treści

HTML 4.01

Deklaracja typu dokumentu

Deklaracja typu dokumentu (DTD - document type declaration) określa poziom użytego na stronie języka HTML:

  1. Strict DTD - (ścisła) zawiera wszystkie elementy i atrybuty, które nie są zdeprecjonowane (nie deprecated) oraz nie pojawiają się w dokumentach z ramkami (ponadto nie obejmuje elementu IFRAME ani atrybutu target="...")
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
    lub
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    	"http://www.w3.org/TR/html4/strict.dtd">
  2. Transitional DTD - (przejściowa) lub inaczej loose DTD ("luźna") - zawiera wszystko co w Strict DTD plus elementy i atrybuty zdeprecjonowane oraz element IFRAME i atrybut target="..."
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    lub
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    	"http://www.w3.org/TR/html4/loose.dtd">
  3. Frameset DTD - (dla ramek) zawiera wszystko co w Transitional DTD plus elementy odnoszące się do ramek: FRAME, FRAMESET oraz NOFRAMES (używane na stronach startowych ramek)
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
    lub
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
    	"http://www.w3.org/TR/html4/frameset.dtd">

Aby wstawić deklarację typu dokumentu, należy na samym początku strony wpisać jedną z powyższych deklaracji, jako pierwszą linijkę w dokumencie - jeszcze przed znacznikiem otwierającym HTML [zobacz: Ramy dokumentu]. Podanie adresu wersji DTD (drugi przypadek w każdym z punktów), pozwala przeglądarce pobrać wersję DTD oraz wszystkie potrzebne zestawy znaków.

Jeśli nie podamy żadnej z powyższych wersji DTD, jako domyślna najprawdopodobniej zostanie przyjęta Transitional DTD (w MSIE), ale sposób ten absolutnie nie jest zalecany! W każdym dokumencie HTML, na samym początku, powinna się pojawić deklaracja DTD. Najbezpieczniejszym rozwiązaniem, kiedy kluczowe znaczenie ma kompatybilność wstecz, wydaje się użycie Transitional DTD, chyba że chcemy się ściśle trzymać wytycznych specyfikacji co do znaczników i atrybutów zdeprecjonowanych, wtedy należy zastosować Strict DTD i nie używać tych znaczników ani atrybutów.

O tym jak ważne jest wstawienie odpowiedniej deklaracji DTD oraz jakie są możliwe różnice w wyświetlaniu dokumentów HTML w różnych wersjach DTD przeczytasz w rozdziale: Tryb Quirks.