Prolog, czyli specjalny znacznik HTML rozpoczynający się od DOCTYPE, jest często pomijany przez webmasterów. Zwykle nie wpływa to na wyświetlanie strony, niemniej jednak powinniśmy go stosować.
Dlaczego?
Prolog definiuje rodzaj i wersję języka użytego do budowy strony, w związku z czym jest wymagany podczas weryfikacji poprawności kodu validatorem. Przy bardziej skomplikowanym kodzie niektóre przeglądarki mogą mieć kłopoty z poprawnym wyświetleniem strony nie zawierającej tego elementu. Z tych powodów powinniśmy pamiętać o umieszczeniu prologu w naszym kodzie.
2. Jak?
Prolog wstawiamy na samym początku kodu, jeszcze przed znacznikiem <html>:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Transitional//EN”> <html> <head> </head> <body> treść </body> </html> |
3. Rodzaje prologu
Prolog występuje w kilku odmianach.
Pierwsza z wersji, strict, pozwala jedynie na użycie znaczników wchodzących w skład specyfikacji HTML 4.01 (najnowszej wersji języka HTML), tym samym wyklucza wszelkie rozszerzenia przeglądarek (np. kolorowe scrollbary czy znacznik <marquee>) oraz tagi mające status przestarzałych.
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01//EN”> |
Do prologu można jeszcze dodać sieciowy adres DTD (pliku, w którym zebrane są definicje dla określonego rodzaju prologu), ale nie jest to konieczne, nawet specyfikacja nie informuje o tej możliwości. Wersja z odwołaniem do konkretnego pliku wygląda tak:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01//EN” „http://www.w3.org/TR/html4/strict.dtd”> |
Druga wersja, transitional, jest tak zwaną wersją przejściową. Dopuszcza używanie wszelkich rozszerzeń typu kolorowe scrollbary, marquee itp. oraz znaczników przestarzałych. Większość osób stosuje właśnie tę wersję i Wam także to polecam.
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Transitional//EN”> |
…oraz wersja z sieciowym adresem DTD:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Transitional//EN” „http://www.w3.org/TR/html4/loose.dtd”> |
Ostatnią odmianą prologu jest rozszerzona wersja Transitional, dla stron korzystających z ramek. Jeśli na naszej stronie używamy ramek, powinniśmy stosować ten właśnie prolog.
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Frameset//EN”> |
Wersja z adresem DTD:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Frameset//EN” „http://www.w3.org/TR/html4/frameset.dtd”> |
Jeżeli kod zgodny jest z wcześniejszą wersją języka HTML, czyli HTML 3.2 powinniśmy wybrać jeden z dwóch prologów:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 3.2 Final//EN”> |
lub
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 3.2//EN”> |
To w zasadzie wszystko, co można powiedzieć o prologu. Polecam oficjalny walidator W3C, który znajduje się pod adresem http://validator.w3.org/. Jeśli strona nie zawiera prologu, zostaniemy poproszeni o wybór wersji języka, według której walidator ma sprawdzić nam kod. Jeśli zaś umieściliśmy ten element w dokumencie, walidator sprawdzi kod od razu. Wtedy każdy z nas przekona się, czy jest mistrzem HTMLa…