XHTML – nie tykaj bo śmierdzi
Sprawdzanie poprawności wysyłania dokumentów XHTML
Aby wysyłać prawidłowy xhtml musisz spełnić kilka warunków:
- Umieszczaj nagłówek XML oraz odpowiednie definicje w znaczniku html
- Jeśli nie będziesz wysyłał dokumentu XHTML jako application/xhtml+xml to cały czas będzie to zwykły HTML z błędami.
- Jebać IE i pokrewne przeglądarki które nie obsługują XHTML.
- Nie używać atrybutu target=”” w znaczniku a.
- Wysyłać dokument jako application/xhtml+xml.
- Musisz mieć prawidłowy kod bo parser XML nie pozwoli wyświetlić strony.
- Nie negocjuj typu zawartości – Negocjujesz Content-Type? To po chuja używasz XHTML?
- Czyli nie potrzebujesz XHTML pisz w HTML, bo i tak będziesz szukał sposobów alternatywnych na wszelkie prawidłowe zachowania XHTML.
Poprawne przesyłanie dokumentu XHTML – Mime Type, Content-Type, Kodowanie
- Musisz wysłać dokument jako application/xhtml+xml, więc musisz dodać nagłówek HTTP wysyłany przez serwer. Pamiętaj o edycji kodowania utf-8 na iso-8859-2 jeśli używasz ISO. Rozszerzenia .htm, .html, htm oraz html możesz dowolnie zmieniać. Możesz korzystać z dowolnego sposobu.
- Definiowanie zawartości w pliku .htaccess #1
AddDefaultCharset utf-8
AddCharset utf-8 .html .htm
AddType 'application/xhtml+xml; charset=utf-8' html htm - Definiowanie zawartości w pliku .htaccess #2
<FilesMatch "\.(htm|html|css|js)$">
ForceType 'application/xhtml+xml; charset=utf-8'
</FilesMatch> - Zadeklaruj także Content-Type w znacznikach meta. Pamiętaj !!! Deklaracja Content-Type w znacznikach meta nie powoduje wysłania dokumentu jako XHTML, więc cały czas będzie to zwykły HTML z błędami.
<meta http-equiv="Content-Type" content="application/xhtml+xml;charset=utf-8" />
- Definiowanie zawartości w pliku .htaccess #1
- Dodaj przed DOCTYPE deklarację XML, pamiętając o kodowaniu utf-8 lub iso-8859-2
-
<?xml version="1.0" encoding="utf-8"?>
- Deklaracja XML w PHP
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
lub:echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
-
- Doctype dla XHTML
- XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- XHTML 1.1
- Zdefiniuj atrybuty xmlns=”” oraz xml:lang=”” dla znacznika html
np.:<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
Najnowsze komentarze