--=REKLAMA=--

Dobór typu dokumentu (DOCTYPE)

Z Joomla!WikiPL

Wersja Zwiastun (dyskusja | edycje) z dnia 12:57, 15 kwi 2009

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Dobór typu dokumentu (DOCTYPE)

Dla Joomla! zalecany typ dokumentu to XHTML 1.0 Transitional.


Deklaracja rodzaju dokumentu

Dokumenty udostępniane w Sieci rozpoczynają się od informacji o rodzaju dokumentu i zastosowanej wersji specyfikacji DTD, czyli deklaracji typu dokumentu. Szablony dla Joomla! i Mambo opieramy zwykle na standardzie XHTML 1.0.

Kod w pliku index.php

W naszej podstawie kodu szablonu dla Joomla! i Mambo informacja ta znajduje się w linii:

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

Objaśnienia

Kod HTML można wprowadzać w dokumencie PHP w sposób bezpośredni, bez stosowania jakichkolwiek instrukcji PHP. Tak też uczyniliśmy. Tuż za niezbędnym znacznikiem informującym serwer, że kończy się fragment kodu PHP (?>) umieściliśmy element DOCTYPE. Ta deklaracja typu dokumentu będzie wpisana na początku wszystkich dokumentów HTML generowanych przez szablon.

DTD jest niezbędna. Określa, jaki poziomu standardu został zastosowany w dokumencie. Informuje przeglądarki, jak mają interpretować kod. DTD jest także wykorzystywana w procesie weryfikacji poprawności szablonu przez tzw. parsery (programy przetwarzające).

Zwróć uwagę, że DTD wstawia się jeszcze przed otwarciem szkieletu dokumentu HTML, czyli przed znacznikiem <html>. Przed DTD nie powinien się znaleźć ani jeden inny znak.

Więcej o HTML i XHTML

W Internecie powszechnie wykorzystywane są dwa języki: HTML i XHTML. Rozwój HTML został zatrzymany w 1999 roku na wersji 4.01. 26 stycznia 2000 roku, ukazała się rekomendacja W3C określająca przeformułowanie HTML 4 w XML 1.0. XHTML nie jest więc nowym językiem, ale rozszerzeniem HTML do postaci XML.

W3C opublikowało wprawdzie nowszą rekomendację języka XHTML - specyfikację XHTML 1.1., ale standard ten nie jest wciąż powszechnie stosowany ze względu na niekompatybilność przeglądarki Internet Explorer.

Choć dysponujemy już nowszym standardem, to standard XHTML 1.0 jest stosowany najczęściej. Do niego również odwołujemy się zwykle w szablonach dla Joomla!. Starsze standardy - HTML 4.01 czy HTML 4.0 raczej nie powinny już być stosowane.

Trzy odmiany standardu

Specyfikacje HTML i XHTML definiują trzy wersje języka:

  • ścisłą - ang. strict,
  • przejściową - ang. transitional albo loose,
  • interpretującą ramki - ang. frameset.

W XHTML 1.1. istnieje już tylko jedna odmiana - ścisła.

Wersja ścisła - STRICT

Ścisła wersja DTD, oznaczona słowem strict, wyklucza wszelkie elementy prezentacyjne, których nie ma w specyfikacji HTML 4.01 oraz elementy wycofywane z użycia [deprecated]. Oznacza to, że wszystkie te elementy - jeśli znajdą się w dokumencie - zostaną uznane za nieprawidłowe i nie będą poprawnie interpretowane. W związku z tym cały dokument zostanie uznany za niepoprawny. Deklarację wersji strict zapisujemy tak:

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

lub tak:

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

W odwołaniu do wersji strict nie trzeba - jak widać - podawać URL specyfikacji DTD.

Wersja przejściowa - LOOSE [TRANSITIONAL]

Przejściowa wersja DTD, oznaczona słowem transitional albo krócej loose - deklaruje, że dokument zawiera wszelkie możliwe elementy i atrybuty HTML 4.0, łącznie z wycofywanymi z użycia. Jest zatem wyborem bezpieczniejszym. Deklarację wersji przejściowej zapisujemy tak:

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

albo

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

Możliwy jest wprawdzie także zapis bez URL do specyfikacji, ale powoduje on, że przeglądarki przechodzą do trybu quirks, więc nie należy tej skróconej wersji stosować.

Wersja z ramkami - FRAMESET

Wersja frameset deklaruje, podobnie jak transitional, że dokument zawiera wszelkie możliwe elementy i atrybuty HTML 4.0, łącznie z wycofywanymi, a ponadto interpretuje ramki. Ale w szablonach dla Joomla! i Mambo nie korzystamy z tej wersji, ponieważ nie ma potrzeby korzystania z przestarzałych już ramek.

Lista zalecanych typów dokumentów (DOCTYPE) - sposób oznaczania


Opracowania poświęcone problematyce typu dokumentu (DocTypes):

Dziękujemy za wkład

» Stefan Wajda [zwiastun],