Nebojme se XHTML

Pavel Salvet  /  13. 11. 2007, 00:00

Popularita jazyka XHTML zaznamenala okamžitě po jeho uvedení strmý vzestup. Karta se však nenápadně obrátila a dnes je přínos XHTML všeobecně zpochybňován. Mnohým webdesignérům je přísný jazyk trnem v oku a poukazují na možné komplikace při jeho používání.

Tento článok je subjektívnym názorom jeho autora, ktorý sa nemusí zhodovať s názorom redakcie. Veľmi radi dáme rovnaký priestor aj ľuďom, ktorí majú opačný názor alebo by autora chceli v jeho tvrdeniach doplniť či poopraviť. V prípade záujmu nás kontaktujte.Největším problémem XHTML zůstává nepodpora ze strany koncových zařízení. XHTML ignorují například vyhledávače a o podpoře od IE se také nedá hovořit. Ke všemu ještě navíc existují programy, které do načítaných (X)HTML dokumentů přidávají, například z důvodu bezpečnosti, vlastní kód, který ovšem může způsobit fatální chybu a tím zabránit zobrazení XHTML dokumentu. Tyto komplikace odsuzují XHTML k nepoužitelnosti.

Existuje však způsob, kterak XHTML zakamuflovat za HTML. Koncová zařízení se při rozhodování o tom, který parser použít na zpracování dokumentu, řídí MIME typem. Stačí tedy používat jako doposud MIME typ text/html. Pro XHTML 1 je tento MIME typ legitimní, pro připravované XHTML 2 už ne. XHTML dokumenty posílané s MIME typem text/html jsou korektní, bezpečné a často využívané řešení, protože:

  1. XHTML i HTML patří do množiny SGML jazyků a mají proto podobné zákonitosti
  2. XHTML 1 je ve skutečnosti reformulované HTML 4, lze jej tudíž takto zpracovat, říká se tomu zpětná kompatibilita
  3. i když XHTML 1 není zcela kompatibilní s HTML a existují mezi nimi drobné syntaktické odlišnosti, HTML parser je přehlíží

Výsledkem výše zmiňovaného postupu je XHTML kód, který koncová zařízení v souladu se specifikací zpracovávají jako HTML a který má oproti klasickému HTML tu nezanedbatelnou výhodu, že jej lze rozebírat a zpracovávat XML nástroji. Navíc si kodér navykne na XML syntaxi a pravidla, což může být také prospěšné.

Nicméně ani přesto se pojednávané řešení netěší vřelým sympatiím. Nejde totiž o „čisté“ řešení. Je to však ryze akademická námitka. Neexistuje smysluplný důvod, proč posílat striktně vyhovující HTML kód parserům, které běžně zpracují jakýkoliv „odpad“ zasílaný s MIME typem text/html. Mnozí odpůrci také upozorňují na to, že XHTML nutí k větší disciplíně: názvy elementů a atributů výhradně malými písmeny, všechny atributy musí mít explicitně přiřazenu hodnotu a ta musí být řádně uvozena , … To může někomu, kdo je zvyklý na intuitivní HTML pravidla, připadat dosti svazující.

Další zásadní námitka by mohla znít: XHTML je přežitek, teď přichází HTML 5! Mohla, ale nezní. Návrh HTML 5 rozšiřuje i XHTML 1. Srozumitelněji – elementy z HTML 5 bude možné použít i v XHTML 1.

Přesvědivý důvod, proč opustit XHTML se doposud nenašel. Svaté tažení proti XHTML nemá reálné opodstatnění, XHTML se není třeba obávat. Jaké však jsou důvody na něj přecházet? Upřímě řečeno - za současné situace prakticky žádné. XHTML je sice koncipovaný nesrovnatelně lépe než jeho protějšek, což teoreticky otevírá cestu dosud netušeným možnostem, žel nezbývá než konstatovat, že tato cesta zůstává uzavřena vinou pomalé práce na nových specifikacích a v neposlední řadě i nepřipravenosti řady zařízení včetně dominantního desktopového webového prohlížeče. Možná nejvyužívanější XHTML výhodou je transformace XHTML z/do jiného formátu. Avšak vzhledem k faktu, že existují nástroje podobného typu i pro HTML a že tato praktika slouží spíše specifickým účelům a obecně se uplatňují převážně jiné metody sestavování dokumentů, není až tak přitažlivá. Zajímavé se naopak zdají být hypotetické výhody, které se bohužel uplatnit zatím nemohou.

Patří mezi ně nepochybně rozšiřitelnost. Kdo se vážně zabýval ideou sémantického webu, zajisté tvrdě narazil na omezenou nabídku deskriptivních elementů. Ta se dá v XHTML rozšířit pomocí vlastní upravené DTD. V současnosti je však toto dobré leda ke zneužití formou rozšíření o nestandardní či zavržené elementy a atributy. Škoda. Byla by to lepší varianta k mikroformátům. Ještě lepší je využít jmenných prostorů, tj. rozšířit dané DTD o moduly.

K potenciálním triumfům XHTML se tedy řadí modularizace, tj. rozdělení XHTML do jednotlivých modulů. Každá část - tabulky, formuláře, SVG atd., modulů může být nespočet - by se tak rozvíjela samostatně. Využívaly by se přirozeně jen ty moduly, kterých by bylo potřeba a nikdo by se nemusel zbytečně učit třeba MathML.

Další hypotetickou výhodou se může zdát oproštění od zpětné kompatibility. Jedině bez ní lze XHTML postavit na nový, systematičtější základ. Hezkým příkladem zastaralé HTML koncepce je škála elementů. <Hx>Jednak má tato škála omezený počet úrovní a jednak nečlení obsah dostatečně transparentně, v kódu nejde například zpod nadpisu sémanticky oddělit nesouvisející informace. Textový modul XHTML 2 se obé snaží řešit doplněním elementů, <section>které mají určovat relevanci nadpisů. <H>

XHTML se opravdu není třeba bát. Vlastně s ním může být ještě legrace.

Zdroje

Neprehliadnite: