application/xhtml+xml - zło, dobro, mniejsze zło
0 poziom | 03 czerwca 2007, 14:28:06
kategoria:
Ogólne
Wreszcie wziąłem się za dopracowanie kilku szczegółów na swojej stronie domowej. Od tej pory wysyłana jest prawidłowym application/xhtml+xml, a JS został zastąpiony prawidłową wersją opartą o DOM i jQuery. Jednocześnie kwestia DOCTYPE i mime type zaczęła mnie nękać.
Od dłuższego czasu robię strony używając XHTML 1.0 Strict bądź Transitional. Ale przecież wysyłanie ich jako text/html to strzelanie w stopę. XHTML wysyłany w ten sposób nie wnosi do specyfikacji HTML 4.01 (Strict) nic nowego, poza slashami na końcu tagów, które... przy interpretowaniu strony jako zupy są nieprawidłowe. O ile chwalenie się zgodnością ze standardami przy prawidłowym HTML 4.01 (layout z CSS!) jest na miejscu, bo zgodność faktycznie jest, o tyle XHTML 1.0 Strict wysłany jako text/html to pic na wodę fotomontaż.
Czasem dopilnowanie, aby XHTML Strict miał 100% prawidłowe drzewo dokumentu, co przy wysyłaniu jako application/xhtml+xml jest obligatoryjne, jest niemożliwe lub bardzo utrudnione. Choćby wtedy, gdy klienci oczekują edytorów WYSIWYG do przeklejania tekstów z Worda. Co wtedy robić i co jest mniejszym złem? Robić XHTML 1.0 Transitional, który wyświetla się prawidłowo wysyłany jako text/html, ale tak naprawdę jest niepoprawny? Niby W3C pisze should not be w kwestii wysyłania jako text/html, a nie jawnie zabrania, ale jednak. Może jednak wysyłać HTML 4.01 bez fancy slashes przed zamknięciami tagów i być pewnym faktycznej, a nie pozornej zgodności ze specyfikacją?
Sam do końca nie wiem. Oczywiście, najlepiej byłoby pilnować drzewa dokumentu i wysyłać XHTML Strict. Choć z drugiej strony, specyfikacja HTML5 opartego na SGMLu powstaje i na pewno będzie mieć się dobrze. XHTMLe to alternatywa, a nie następstwo HTMLa - mająca swoje zalety, ale i wiele wad i utrudnień.
Do napisania tej notki skłoniła mnie strona http://pornel.net/xhtml oraz to, że nawet joggerowy adwokat diab^H^H^H^H standardów - Riddle - wysyła swój jog jako text/html

wzs | dnia 03 czerwca 2007, o godzinie 15:07:50
Oczywiście, że w takim przypadku jak Ty opisałeś lepij stosować html 4.01 strict.
xhtml wcale nie jest "bardziej" poprawny nież html, a są z nim, jak na moje oko tylko problemy (najbardziej kuriozalne jest dla mnie to, że dla xhtml potrzebny jest nagłówek xml`a- a to z koleiji włacza Internetexplorerowe dziwactwa).
A tak od strony praktycznej- pisząc zgodnie z wersją strict html 4.01 jedyna różnica w porównaniu do xhtml` to właśnie fancy slashes ;)