XHTML serwowany jako XML |
Wpisany przez Patryk yarpo Jar | |||
wtorek, 26 października 2010 14:52 | |||
XHTML miał zrewolucjonizować internet. Nie wiem, czym. Fakt, że miał. Tak naprawdę cudowne właściwości przypisywane XHTMLowi nie mają zbyt wielkiego odzwierciedlenia w rzeczywistości. Głównie dlatego, że większość "xhtmlowych" stron, to tak narpawdę nie do końca poprawny htmlowy twór. Spróbuję pokazać, jak wysyłać strony w XHTML, aby nie były już li tylko marną mistyfikacją nowoczesności (zakładając, że X w nazwie nowoczesność daje :P ). Kod "XHTML"Poniższy kod, przez wielu będzie uznany za w pełni poprawny kod XHTML. Ba! Walidator W3C też będzie twierdził, że to jest strona XHTML. Zróbmy jednak prosty test. Dajmy na tej stronie taki kod: Jaki będzie wynik? Tekst będzie koloru czerwonego. Jak to?! Niemożliwe. Przecież mamy DOCTYPE XHTML. Przecież walidator mówi, że to strona XHTML. Co się stało?
Content-typeA no tak. Przecież ustawiliśmy typ pliku na text/html. Zaraz, tylko to zmienimy i będzie już działać. Zmieniamy na:
Teraz powinno działać... Nie! Znów nie działa :( No co jest, przecież my mamy taką super hiper stronę XHTML. Iwalidator, znowu uważa, że to jest strona w nowoczesnym formacie: wynik walidacji.
Nagłówek XML w plikuNo oczywiście, zapomnieliśmy o jeszcze jednej ważnej sprawie. Nagłówku XML w pliku. Teraz będzie działać:
Teraz to już na pewno będzie poprawny XHTML. Walidatorowi się podoba ten "XHTML". Ale nadal nasz test pokazuje, że tekst jest czerwony. Co jest nie tak?
XMLAby strona napisane przy użyciu kodu zgodnego z formatem XHTML była odebrana jako aplikacja XML musimy przed wysłaniem choćby jednego znaku do przeglądarki wysłaś jej informacje: "UWAGA - XML!". W przeciwnym razie uzyskamy stronę HTML z dziwnymi ukośnikami. Jeśli nie chcemy wysyłaź XHTML jako XML to może lepiej używać HTML 4.01 strict? Równie dobrze oddziela warstwę prezentacji od struktury).
Rozwiązanie w PHPJako, że w Polsce to najczęściej wykorzystywany język programowania, to przykład będzie właśnie w nim: Taka strona będzie odebrana jako XML. A więc stosowanie XHTMLa ma sens.
Teraz zarówno walidator akceptuje ten kod jako XHTML, jak i udało się przejść nasz test - tekst jest niebieski. Problemy z XHTMLSpróbuj zmienić kod na taki: Zmieniłem wielkość liter w ostatnim div. Teraz nie wyświetli się nam nic :(. Jest to jeden z powodów, dla których XHTML nawet przez doświadczonych i świadomych webmasterów jest podawany jako HTML. Ale to już jest kolejna długa historia :)
|