• TwitterRSS
  • Domů na Webylon
  • Kritika W3C
  • X(HT)ML
  • Barnumská reklama

    5. srpna 2004

    Jazyk XHTML je aplikací XML, z toho plynou jeho výhody. Ty jsou díky tragickému nedostatku strukturální sémantiky vcelku zbytečné, protože není možné obecně vzít libovolný XHTML kód a vytáhnout z něj obsah. Další domnělou výhodou je snadnější, a tedy i rychlejší zpracování.

    Nemá ale náhodou XML také nějaké nevýhody? Minimálně jednu má. Její dopad na XHTML aplikaci není tak okrajový, jak by se na první pohled mohlo zdát. Její příčina není v nepovedených implementacích, je v samotné specifikaci.

    V doporučení XML jsou rozlišeny dva pojmy: správná sestavenost (well-formedness) a platnost proti definici typu dokumentu (validity against DTD). Platnost není novinkou a prohlížeče nejsou povinné ji kontrolovat. Co však vyplývá z definic správné sestavenosti? Volně cituji dotyčné W3C doporučení:

    Ke správně sestavenému XML dokumentu jde pak pohodlně přistupovat přes DOM, např. pomocí dotazovacího jazyku XPath. Jiné možnosti konsorcium ani nenabízí. Stránka v XHTML dodaná s preferovaným MIME typem (např. application/xhtml+xml) musí být v prohlížeči rozebrána jako XML. Také musí být ověřena správnost jejího sestavení. Ono rozebrání by mělo být rychlejší než rozebrání starého HTML.

    Princip plnící se čekárny

    Webová stránka ovšem neputuje k prohlížeči jako mašlí ovázaný balíček. Je to proud dat a rozumné HTML prohlížeče už během stahovaní zobrazují maximum z toho, co zobrazit mohou.

    Zde je skryta ona nečekaná nevýhoda XHTML. Jakákoliv nedotažená část dokumentu nejde jednoznačně posoudit. V různých okamžicích stahování je vyhodnocení správné sestavenosti nedotažené části různé:

    <html xmlns="http://www.w3.org/1999/xhtml"> [1] Malá, ale šikovná ukázka.</html> [2] <!-- [3] --> [4] <!-- -- [5]

    V okamžicích [1], [3] a [5] tento kód neodpovídá definici, v okamžicích [2] a [4] ano. V každém bodě si můžete představit zpoždění libovolné délky. Dejme tomu, že v jednom z bodů [3] nebo [4] máte na straně serveru vygenerovanou delší časovou pauzu (pro lepší představu: blížící se nekonečnu). Co má prohlížeč dělat během té pauzy? Má vyvozovat nějaký závěr z toho, co zatím má? Závěr, který bude unáhlený? Upozornit na chybu, která později zmizí? Zobrazit obsah, který se později projeví jako zahozeníhodný?

    Drakonismus je z definice černobílý. Nesmí v čase kolísat. Proto prohlížeče musí dotáhnout zbytek dokumentu dříve, než dosavadní data získají nějakou užitnou hodnotu. Musí čekat na dotažení.

    Dokážete návštěvníkovi s pomalým připojením vysvětlit, že čekal půl minuty na obsah jen proto, aby mohl být kód stránky o půl milisekundy rychleji rozebrán? Čas strávený stahováním je vždy mnohonásobně delší než čas strávený rozebíráním kódu. Proto je XHTML brzdou.

    Vstávat! Výměna rakví!

    Konsorcium zjevně předpokládá, že XHTML postupně nahradí HTML. Vizionáři z W3C mají ale o světě velmi zkreslené představy. Občas přání porodí nedonošenou myšlenku.

    Proč je potřeba XHTML?

    Stále jsou představovány nové metody přístupu na internet. Některé předpovědi naznačují, že v roce 2002 bude 75 % prohlížení internetových dokumentů uskutečněno z těchto alternativních platforem.

    — W3C, XHTML 1.0, 26. ledna 2000

    Na světě v současnosti existuje odhadem přes 10 miliard webových stránek. Přesné číslo vám nikdy nikdo neřekne. Čím je WWW větší, tím méně je pružný. Stává se naopak křehkým a vyžaduje jemné zacházení. Vyžaduje úctu ke stáří, vyžaduje zpětnou kompatibilitu.

    Mezi existujícími stránkami a používanými prohlížeči existuje ohromně silná zpětná vazba. Tu konsorcium rádo přehlíží. Myslíte si, že přijde doba, kdy vám hypermoderní prohlížeč řekne, že vámi požadovanou stránku neumí zobrazit?

    Dříve nebo později začnou prohlížeče podporovat pouze XHTML (případně jiné aplikace XML) a neuškodí, budete-li na to připraveni.

    — Marek Prokop, Co je XHTML, Sova v síti, 1. října 2000

    Přední výrobci prohlížečů nemají důvod podporu HTML odebírat. Spíše naopak. Kdyby ji odebrali, ztratili by tržní podíl. Ze stejného důvodu nespáchají tržní sebevraždu ani méně populární prohlížeče. Chytrá rychlovarná konvice se stane použitelnou také až v době, kdy se naučí zobrazovat HTML.

    Stránek psaných v HTML je totiž mnoho. Velmi mnoho. Některé jsou staré. Některé jsou neudržované, mrtvé. Snižuje to snad zákonitě význam jejich obsahu? Informace stará šest let (přeloženo do archeologie: okamžik) může být stále platná, stále aktuální. Stále požadovaná. Měla by být i stále čitelná.

    Dnešními prohlížeči si bez problémů prohlédnete historicky nejstarší web. Mnoho nových stránek je také psáno v HTML, neboť webmasteři zanedbatelné výhody XHTML výhodně zanedbávají.

    Představte si, že by od nynějšího okamžiku vznikaly weby psané pouze v XHTML. Pořád by však drtivá většina existujících stránek byla v HTML. Trvalo by minimálně deset let, než by požadavek veřejnosti na podporu HTML v prohlížečích utichl. Nyní prosím opusťte tuto dlouhodobou představu. Teď k tomu došlo. A teď znovu. K čemu že? Zrovna někdo vytvořil novou stránku ve „starém“ HTML. Dojde k tomu nepochybně znovu a znovu. Jen jedno desetiletí? To byla naivní představa.

    Na masmédiu, jakým je World Wide Web, není možné snadno a rychle nahradit jeden formát druhým. Pouze je možné formát přidat. Přidání pomalého XHTML je zpátečnické. Budoucnost patří HTML.