HTML i XHTML validní dokument

Toto je speciální dokument, který je validní HTML i XHTML. Použitá direktiva <?html je jen vzorová, pokud máte nějaký preprocesor, který ji používá, tak ji změňte. Pozor na PHP, je nutné buď zakázat krátké tagy nebo to složité obcházet. Jediná změna dokumentu při posílání parametru „type“ je odeslaná HTTP hlavička „Content-Type“, obsah dokumentu je v obou případech shodný.

Výborný prohlížeč pro testování tohoto dokumentu je Mozilla Firefox či Chromium/Chrome (tam však nefunguje správně obarvení zdrojového kódu). Zkuste si v něm zobrazit zdrojový kód HTML i XHTML verze. Kromě rozdílného obarvení sytaxe (tzn. jiného způsobu zpracování) se dokumenty jinak neliší.

Váš prohlížeč tuto stránku zobrazil jako HTML dokument.

Možná otázka by byla: proč tak složitě formulovat dokument, když validátor W3C označí XHTML s Content-Type „text/html“ za validní? Na to je jednoduchá odpověď: je to chyba ve validátoru. XHTML s uvedeným Content-Type má být parsováno jako HTML a to např. nedovoluje používat krátké uzavřené tagy a některé tagy (např. meta nebo br) se zavírat nesmí (naopak v XHTML se zavírat musí). Takže pokud chcete opravdu otestovat validitu svého dokumentu, zkuste ve validátoru W3C u stránek, které hlásí Content-Type „text/html“, natvrdo nastavit HTML 4.01 Strict. Anebo zkusto použít český validátor, který na tuto chybu správně přijde (ale naopak špatně hlásí jako chybu použití XHTML DOCTYPE pro HTML).

Zde uvedenou syntaxi doporučuji používat jen v nejnutnějších případech (tzn. pokud jsou stránky statické). U dynamicky generovaných stránek (PHP, ASP ap.) doporučuji testovat hlavičku HTTP Accept. Každý slušný klient (včetně botů, např. Googlebot nebo Seznambot), který umí XHTML, to tam uvede (jedinou mě známou výjimkou je již uvedený český validátor), pokud to neuvede, tak prostě naservírujete HTML. Nezapomeňte přitom na správný Content-Type v HTTP hlavičkách (nastavení v meta tagu nestačí!), pro XHTML se používá „application/xhtml+xml“.

Tento příklad uvolňuji do public domain. Každý jej může libovolně používat a upravovat.

Pro více informací mě můžete kontaktovat na sten@stensoft.com.

Validátor W3C: Validní HTML 4.01Validní XHTML 1.1Validní po autodetekci

Český validátor: Validní HTML 4.01Validní XHTML 1.1Validní po autodetekci (poznámka: chyba v DOCTYPE uvedená při autodetekci HTML verze je chyba – nebo spíš úmysl – tvůrce validátoru)

Prohlížeč Kompatibilita
Googlebot vždy HTML
Chromium / Chrome plná (kromě zobrazení zdroje)
Konqueror vždy HTML
Links vždy HTML
Microsoft Bing vždy HTML
Mozilla Firefox plná
Seznambot vždy HTML