Nestává se často, abych tady psal o novince, kterou jsem objevil už
před půl rokem. Nicméně jsem potřeboval „trochu“ času, abych
všechno zažil a trošku si to v hlavě uspořádal.
Jsouce bytostným amatérem v tvorbě webu prošel jsem zřejmě celým
životním cyklem každého natěšeného nadšence:
- 1. stádium: seznámení se s HTML a první stránka, v mém
případě slepená v FrontPage
- 2. stádium: průzkum webu, zjištění, že exxistuje něco jako standardy
W3C, CSS, beztabulkový layout, DOM, Doctype. Následovalo zděšení, co
všechno neznám
- 3. stádium: studium literatury, webových stránek o tvorbě webu,
doporučení W3C
- 4. stádium: hurá, moje stránky jsou XHTML 1.0 Strict Valid
- 5. stádium: vydávání chytrých rad všude okolo, objevení Webylonu a prvotní odmítnutí názorů zde
prezentovaných
- 6. stádium: první pochybnosti, opětné studium skvělé knihy XDHTML od
autora Pavola Michle, potvrzení mnoha podezření, kterých jsem četbou
Webylonu nabyl
- 7. stádium: tady ten článek.
O co vlastně jde. Autor, cudně se skrývající pod jménem
Chamurappi, ostře kritizuje počínání konsorcia W3C, nekoncepčnost a
zmatenost doporučení, neopodstatněnost zavádění XHTML 1 (1.1) ve formě
jaké je. Zárověň navrhuje řešení . Oprostím-li se od
stále ještě mnou rezonujících sympatií ke XHTML 1 (1.1) musím dát
autorovy za pravdu v následujících bodech:
- XHTML 1.0 je prakticky, v nejrozšířenějším prohlížeči,
funkční pouze pokud stránka posílá MIME typ text/html, čímž
prohlížeč značky XHTML interpretuje jako HTML, to že nedochází ke
zmatkům je důsledkem „přirozené“ inteligence parserů
v prohlížečích. Prohlížeč striktně uplatňující definici HTML by
nezobrazil stránku správně. Jde to obejít na straně serveru a posílat IE
MIME typ text/html (a nebo application/xml) a ostatním MIME typ
application/xhtml+xml. Prakticky to má za následek, že prohlížeče jako
Firefox a Opera čekají až se natáhne celá stránka a
potom ji buď zobrazí, nebo vypíšou chybu. Takže ani nevím co je lepší,
jestli stránka s nepodstatnou chybou, která se správně zobrazí
všude, nebo tatáž stránka, která se zobrazí jenom někde.
- rozdíl mezi HTML a XHTML – syntaxe
- HTML tagy, můžu psát malými i velkými písmeny, XHTML pouze
malými, že by obrana proti hebmilo
textu ?
- v HTML nemám povinnost uvádět DOCTYPE dokumentu, XHTML je to
povinné. DOCTYPE říká validátoru, podle jakého DTD má stránku
validovat. Zároveň DOCTYPE přepíná prohlížeče mezi režimy STD a quirk.
No, toto by snad šlo řešit řešit nějakou značkou <quirk>, místo
sáhodlouhé definice DOCTYPE.
- XHTML zakazuje křížení elementů – prasárna, které je se nutno
vyvarovat i HTML
- v HTML jsou nepovinné značky HTML, BODY, HEAD, v XHTML jsou
povinné
- v HTML není povinnost ukončovat některé párové značky P, LI, TR,
TD neboť je zřejmé, že tam kde začíná třeba nový odstavec končí
předešlý, totéž odrážka, totéž sloupec, nebo řádek tabulky a je to
validní. Toto se logicky netýká DIVů, ty se mohou zanořovat do sebe.
V XHTML jsou ukončovací značky i párových tagů povinnné
všude.
- v HTML nepárové značky nemají ukončovací znak „/“,
v XHTML mají povinně.
- HTML (frameset, transicional, strict) a XHTML 1.0 (frameset, transicional,
strict) mají formálně naprosto stejné tagy a to i ty, které slouží
pro prezentační úroveň (FONT, třeba).
- rozdíl mezi HTML a XHTML – parsování
- vzhledem k MIME typu text/html žádný, s možností chybné
interpretace třeba nepárových tagů XHTML (BR versus BR / )
- pokud použijeme application/xhtml+xml, IE zobrazí zdrojový kód
Takže co vlastně budu nadále používat? Nabízí se HTML
4.01 transitional. Proč? Protože mě připadá jako praktické mít
možnost občas a ve zdůvodnitelných případech použít třeba
target=_blank. Proto. A to, že trochu umím i XHTML, no to není
vůbec na závadu, pokud to bude někdo ode mě chtít, můžu sloužit
taky.
P.S.: tenhle blog je XHTML 1.0 Strict, což v žádném případě
nebudu měnit, důvody jsou dva:
- textpattern produkuje XHTML
- jsem líný jako veš
— Lukáš Havrlant 20 03 2006 - 15:39 #
— Jiri 20 03 2006 - 16:32 #
— ATP 20 03 2006 - 17:13 #
— Volodja 21 03 2006 - 10:44 #
— Ivorius 21 03 2006 - 15:25 #
— Ondrej Páleš 21 03 2006 - 21:17 #