UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Szablony arrow Szablon arrow Prolog XML
Prolog XML Drukuj Email
W wielu szablonach znaleźć można tzw. prolog xml, informujący przeglądarki, że mają do czynienia z dokumentem XML (dokładniej - XHTML). To element zalecany, ale niekonieczny.

Kod w pliku index.php

/* konieczne, wyodrębnia kod ISO ze stałej _ISO 
   z pliku etykiet i komunikatów językowych  */
$iso = explode( '=', _ISO );
/* xml prolog - skomentowany, aby wymusić tryb zgodności */
// echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>

Łatwo zauważyć że w naszych projektach opatrzyliśmy prolog XML znakiem komntarza. Dlaczego?

Tryb dziwactw

Choć prolog XML jest elementem zalecanym, to jego umieszczenie rodzi, niestety, pewien problem. Powoduje, że przeglądarki przełączają się w tzw. tryb quirks - tryb dziwactw, stworzony przez Microsoft dla kompatybilności z wcześniejszymi wersjami swoich przeglądarek. Nie byłoby problemu, gdyby w ten tryb przełączały się tylko przeglądarki z serii IE. Niestety, inne przeglądarki również wykorzystują tryb quirks

Umieszczenie prologu XML trzeba zatem rozważyć. Informuje on przeglądarki i wyszukiwarki o tym, że mają do czynienia z dokumentem XML. Jest zalecany zwłaszcza wówczas, gdy strona korzysta z innego niż domyślne w XML kodowanie UTF-8 albo UTF-16. Jeśli jednak w dokumencie HTML jest, a zwykle jest, deklaracja kodowania, brak prologu nie powoduje żadnych problemów.

Prolog umieszcza się na samym początku dokumentu, jeszcze przed deklaracją rodzaju dokumentu [doctype].

Objaśnienie

Objaśnijmy znaczenie instrukcji.

$iso = explode( '=', _ISO );

Ten fragment zawiera instrukcję przypisującą zmiennej $iso wartość stałej _ISO wyodrębnioną z pliku komunikatów i etykiet językowych w rezultacie zastosowania funkcji explode(). Zamiast funkcji explode() stosuje się tutaj czasem funkcję split(). Stała _ISO zawiera definicję aktualnie używanego systemu kodowania. Jej wartość jest wymagana w prologu XML.

echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';

Ta linia powoduje umieszczenie na początku dokumentu HTML prologu XML. W źródle dokumentu HTML może wyglądać np. tak:

<?xml version="1.0" encoding="UTF-8"?>

Uwagi, źródła

Jeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki

Dziękujemy!

Stefan Wajda, Zespół Dokumentacji PCJ

 
« poprzedni artykuł   następny artykuł »