Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Ian Hickson o nové verzi HTML

Tomáš Trnka aura:97
23. 4. 2007 18:32

Re: Proč nevyžadovat validitu u nového kódu?

celé vlákno
Já ale netvrdím, že se HTML používá k validaci...Jde jen o to, že parsování XML je (i "se všemi jeho záludnostmi") poměrně jednoduchá práce - XML jasně stanovuje logickou strukturu a například libxml2 je pro někoho až překvapivě jednoduchá...Nejsou totiž potřeba žádné komplikované heuristiky pro odhadování "co chtěl tímhle básník říci"...Zkrátka např. překřížené elementy <=> chybný kód...Jakékoli XML prostě rozparsujete jednoduše rekurzivně stylem (pokud pro jednoduchost opomenu parsování DOCTYPE a podobně):
0) dokud nenarazím na "<", jedná se o text, kterým prostě plním aktuální element
1) detekuji "<" == začátek elementu
2) název elementu - pokud obsahuje ":", má určenou NS
3) dále dokud nenarazím na ">" nebo "/>": mezerou oddělené atributy, každý rozseknu na znaku "=" na název a hodnotu
4) pokud nebyla detekována sekvence "/>", následuje obsah elementu...na něj zavolám rekurzivně tuto parsovací funkci, konec obsahu poznám podle "</název_elementu>"
5) skok zpět na 0
-pokud cokoli nesedí, není kód well-formed XML a nebudeme se jím zabývat
Možná se tím někoho dotknu, ale podle mě jednoduchý XML parser napíše kdokoli, kdo má alespoň primitivní znalosti jakéhokoli programovacího jazyka...Narozdíl od toho HTML parser je monstrum (téměř) s umělou inteligencí, nebo minimálně tisíci podmínek pro "detekován ten a ten prohřešek proti specifikaci => uděláme to tak, jak to dělá konkurence, případně tak, jak zrovna programátora parseru napadlo"...

Uživatelů MSIE je víc než 50%, uznávám, že tady jsem lehce zjednodušoval...Podle statistik jednoho mnou spravovaného webu asi MSIE všech verzí používá cca 54% návštěvníků, dále následuje Firefox s 35% a Opera s 9%...

Tím XHTML myslím jak první, tak i druhou verzi...Implementace druhé verze je trochu běh na delší trať, ale XHTML 1.1 se dá implementovat snadno (na základech HTML 4.01) a přechod mezi verzemi XHTML nedá zdaleka tolik práce, jako přechod mezi verzemi HTML...