conBLOG

27. 2. 2007 úterý

Jsem nakrknutý nosorožec

K nadpisu musím doplnit, že jsem pyšný nakrknutý nosorožec. Abych to vysvětlil. Dnes vyšel na Lupě článek Soumrak nad moderním X od Chamurappiho. Udělalo mi radost, že jsem byl citován i odkázán v kapitole, která začíná tímto odstavcem:

Při každém veřejném sporu o XHTML se ozve nemálo "nakrknutých" nosorožců. Plamenné debaty by nejraději rychle zadupali, aby negativní pohled na XHTML náhodou nenakazil budoucí generaci webmasterů. Nosorožce nezajímá jádro pudla, v jejich očích jsou pudlové podřadná zvířátka. K panice jim bohatě stačí představa, že si nahlas vyjádřený nesouhlas přečte nebohý začátečník a na XHTML se "vybodne". Zvláštní jev.

Je docela možné, že se díky tomu dostanu ve vyhledávačích na čelní místa na výraz nosorožec a na sousloví nakrknutý nosorožec nepoznám vážnou konkurenci.

Komentáře

1 Pixy

27. 2. 2007 úterý, 18.20

Ten autor je demagog par excellence a už mám ověřeno, že nemá smysl se s ním pokoušet o jakoukoli debatu. A nevím proč mám utkvělou představu, že jeho skutečné jméno má iniciály RH (a právem se tak za něj stydí). :D

2 Shaman - web

27. 2. 2007 úterý, 18.43

Vypadávat v SERP na jakoukoliv často hledanou frázi se vždycky hodí. Minimálně člověk může přece na svůj weblog instalovat onen proslulý "gůgl adsenc" a začít tak hromadit dolary :-)

3 Shaman - web

27. 2. 2007 úterý, 19.23

Tady je vidět, že bannerová slepota funguje i na Reklamy Google. Vůbec jsem si nevšiml, že už tu "gůgl adsenc" dávno je a to sem chodím docela pravidelně :-)

Tím lépe.

4 gwh - web

27. 2. 2007 úterý, 19.55

Pixy:

Sdílím tvůj názor a proto jsem také na Lupě nereagoval. Chamurappi pořád omílá dokola to samé, čímž se snad snaží upevnit své argumenty, aniž by připustil odlišný pohled na věc.

Tím se nechci pouštět do zpochybňování toho, co píše, ale spíš mi vadí jeho vystupování.

5 Arthur Dent - web

27. 2. 2007 úterý, 19.58

Vážně myslíš, že Chamurappi je Ross Hedvíček?

já bych spíš řekl, že to je Radek "Kostěj" Hromuško. Možná i Radim Hasalík - a možná všichni tři dohromady! :)

6 Ondra | e-mail - web

27. 2. 2007 úterý, 20.03

Teď jen záleží kolik lidí hledá spojení "nakrknutý nosorožec" - hm .. konkurence slova nebude moc vysoká. Nakonec se na tom dá udělat pěkný biznys :D

7 Pixy

27. 2. 2007 úterý, 20.18

Jé, Kostěj je vlastně taky RH, to mě nenapadlo. :) Zjistil jsem, že jsem s ním chodil na ZŠ, to bylo přeqápko :D

8 met | e-mail - web

27. 2. 2007 úterý, 20.22

Jsi kratkozraky? A lichokopytnik?

Ted uz jen urcit, zda jsi tuponosy nebo dvourohy a mame te spravne systematicky zarazeneho 8-)

Nosorožcovití

9 Jiří Bureš - web

27. 2. 2007 úterý, 20.35

[8] Krátkozraký (zatím) nejsem. Než lichokopitník jsem (občas) kopyto. Na každý pád ale nejsem moc srstnatý, takže nosorožec srstnatý padá.
Ještě, že mě Chamurapi neoznačil za hrocha. Hrochy nemusím.

10 Ivo Toman - web

27. 2. 2007 úterý, 20.45

Jirko, držím palce s tím nosorožcem. Jestli budeš mít zájem, tak můžu na tebe odkázat třeba "hladký krocan" a brzy tady z toho budeš mít ZOO :D

11 mm-marek - web

27. 2. 2007 úterý, 20.52

gratuluji k ocenění nosorožec, v kontextu bylo myšleno ale určitě víc lidí, takže nějaká ta konkurence se přece najde... :)

12 dgx - web

27. 2. 2007 úterý, 23.38

[1] tak to mi vážně nedá :-) Pixy, doporučuji nastudovat HTML & XHTML trošku více do hloupky, publikace "HTML for dummies" není dostatečnou průpravou. Kdybys něčemu nerozuměl, jsem k dispozici na emailu. A než se do tajů moderních značkovacích jazyků dostaneš, kroť své projevy, protože vypuštěný komentář ani párem volů nevrátíš a o víc ti bude po prozření trapně.

Pak se můžeš připojit sem: je http://www.lupa.cz/clanky/soumrak-nad-modernim-x/nazory/174760/.

Jirka Bureš: mně ty rádoby zesměšňující citáty v Chamurappiho článku připadaly velmi trapné. Především proto, že jsem taky nebyl citován :-))

13 Pixy

28. 2. 2007 středa, 9.08

To k tomu Dramnbejzovi přijel gazik se čtyřmi Ukrajinci v černých kuklách, nebo mu nějak ruplo v kouli? Anebo to nejni von... :-o

14 Pixy

28. 2. 2007 středa, 9.52

Nicméně, dgx - z toho skoro nesoudného zastávání se toho pošuka jsem trochu paf. Buďto jsi to ty a děláš nám tady schizofrenní divadýlko, nebo tomu prostě nerozumim...

http://www.lupa.cz/clanky/soumrak-nad-modernim-x/nazory/174806/

15 Chamurappi

28. 2. 2007 středa, 10.09

[13] Poslal jsem na něj nakrknutou anakondu. Měla také černou kuklu. Moc jí to slušelo, vypadala skoro jako tlustá černá hadice. Z přízvuku vůbec nešlo poznat, odkud pochází.

16 Jiří Bureš - web

28. 2. 2007 středa, 10.22

[15] Zdar Chamurappi. Konečně jsi dorazil! Budu Ti muset opravit nick ve spotu.

17 dgx - web

28. 2. 2007 středa, 18.42

[14] Představ si, že v diskusi o HTML & XHTML (nikoliv o osobě autorova článku) padne chybný názor, názor o kterém 100% jistě víš, je to nesmysl, ale bohužel jeho pisatel se ohání řečmi o tom, že autor je idiot (Dramenbejs) nebo demagog (Pixy).

To je irelevantní. Nezkoumáme duševní stav autora článku, bavíme se čistě o XHTML a HTML.

Když tedy víš, že ti dva se mýlí, pak bohužel jako idiot vypadá právě ten Dramenbejs a jako demagog par excellence zase Pixy. Jak ti pak mám věřit, že máš s ním podobnou zkušenost z minula, když to mohl být stejný případ jako nyní?

Zastávám se tedy pouze svého názoru a nevím (ani netuším), jestli podobný názor má i Chamurappi.

18 Pixy

28. 2. 2007 středa, 20.25

Nemám pocit, že bych já argumentoval nějak demagogicky (rozhodně ne úmyslně a můžu se mýlit). Pokud někomu jakýkoli článek toho Chamurappiho nepřipadá demagogický až na půdu, tak ok, pak jsme asi každý jinde. Mně to takové přijde na první pohled. Včetně jeho prapodivného webu.

A btw, kterýpak můj odborný názor je podle tebe 100% nesmyslně chybný, čumáčku?

19 dgx - web

28. 2. 2007 středa, 22.40

Jde konkrétně o tohle vlákno http://www.lupa.cz/clanky/soumrak-nad-modernim-x/nazory/174593/vlakno/, prcinko ;)

- Jak může být parser striktního XML, jehož algoritmická syntaxe se dá zapsat málem jedním regexpem, složitější než parser HTML...

Jeden příklad za tisíc slov - http://www.dgx.cz/knowhow/xhtml/ - všimni si, že selhává i představa, že XHTML značka začíná < nebo že doctype končí na první >. Abys byl schopen tento dokument zpracovat, musíš parsovat i jazyk DTD, který je syntakticky totálně odlišný. Říkáš jedním regexpem? Hmmm... ;)

(skutečnost, že sám tuhle syntaxi nepoužíváš, je jaksi nepodstatná, že...)

- (o HTML parseru) Tipovat si pravděpodobné konce neuzavřených tagů, rozpoznávat několikerý možný zápis téhož...

To je absolutní omyl! Jsem připraven nezpochybnitelně dokázat, že každý platný HTML dokument se všemi jeho volitelnými značkami vždy jednoznačně určuje strom dokumentu. Je bohužel rozšířeným omylem s HTML spojovat slova jako "tipovat", "domýšlet" a "pravděpodobnost".

- (pokračování) domýšlet si jednotky atd... No fuj.

XHTML nepřináší oproti úpravám syntaxe nic nového do významu značek a atributů oproti HTML 4.01. Vůbec nic, proto taky jeho specifikace čítá jen jednu webovou stránku. Tedy pokud ti něco vadilo v HTML, tak to platí i pro XHTML. Je velkou chybou podporovat mýtus, že XHTML ruší značky, mění význam, přináší CSS.

Ale jak jsem psal výše, ani v HTML se nic nedomýšlí, takže mám opět výhradu vůči slovo "domýšlet"

----------------


Pixy, velmi rád tě o těchto věcech přesvědčím, protože ve stejných omylech žije ohromná řada lidí z oboru, a jelikož jsi významná autorita, je nejvhodnější začít právě od tebe ;) Nakonec dlužím ti to, kdo mě asi nakopl k CSS :-)

Když pochopíš, že HTML není o domýšlení, můžeš se podívat na XHTML jinými očima. Protože nepřináší nic nového co se týče jednoznačnosti. Leda obecnost v rozpoznávání prázných značek, za to má plus (i když je to za cenu nekompatibility s SGML, nemýlím-li se). Ale bere si daň jak prase, když zavádí šílené konstrukce, viz odkaz výše.

20 Pixy

28. 2. 2007 středa, 23.59

Davide, blbý je, že my pořád jedeme jáovoze a tyokoze. Ty vážně pořád mluvíš úplně o něčem jiném než já, stejně jako já o něčem jiném než ty...

Buďto se můžeme bavit volně o tom, jestli je těžší naprogramovat to nebo ono, ale pak musíme brát na vědomí, že to je zcela subjektivní - pro tebe je třeba snadné napsat HTML parser, pro mě XML parser. Já HTML parser párkrát zkoušel a vždycky jsem pohořel na prasárnách v kódu - pro tebe je to brnkačka.

Anebo to chceš nějak objektivně kvantifikovat a pak mě napadá jediné měřítko algoritmizace, a to je přepis toho jazyka do nějaké formální gramatiky. A to je to, co si během celé té diskuse snažím neustále představovat a kde vidím poměrně ucelený a uzavřený algoritmus u XML a neuchopitelné fuzzy HTML. XML má jednoznačnou syntaxi a gramatiku a v zásadě je možné napsat program, který by napsal XML parser (!). Takže napsat XML parser je možná pracné pro někoho, kdo se těžko prokousává syntaxí DTD, ale v podstatě je to práce pro cvičenou opici. HTML parser potřebuje jistou vnitřní "inteligenci" a rozhodovací rutiny. To je ta složitost, o které mluvím.

---

Zkus si dohledat moji úplně první reakci na ten článek - http://www.lupa.cz/clanky/soumrak-nad-modernim-x/nazory/174593/ - já si o XHTML rozhodně žádné iluze nedělám a uznávám, že má-li být jen slepou větví vývoje, je úplně na hovno. A s tím jsem chtěl skončit. Jenže pak začala a pokračovala ta demagogie (která se datuje mnoho let zpět, do dob Velké Propagace, odkud pramení i ty veselé citace) a začalo se kvantifikovat neměřitelné a subjektivní... :(

dgx: "XHTML nepřináší oproti úpravám syntaxe nic nového do významu značek a atributů oproti HTML 4.01. ... Je velkou chybou podporovat mýtus, že XHTML ruší značky, mění význam, přináší CSS." --- O ničem takovém mě ale přece nemusíš přesvědčovat, nevím o tom, že bych kdy tvrdil opak. Pod to se ti podepíšu rovnou, chceš-li. XHTML přinášelo něco jiného, ale to je na jinou diskusi. Tahle debata byla o něčem jiném:

a) XHTML mělo velký význam jako důležitý mezikrok (k něčemu, co bohužel nenastalo a nastat nějak nehodlá) a jako tahoun vývojářů z bahna totálního bordelu, kde si každý dělá co chce po svém a nikdo se nemůže domluvit, blíž do čistých vod jakýchs takýchs standardů. To se povedlo a trvám na tom, že je to především zásluhou té intenzivní XHTML/CSS "evangelizace".

b) XHTML lze narozdíl od HTML parsovat existujícími XML nástroji, lze snáze dál zpracovávat, transformovat atd. A tohle taky nikdo nezpochybňuje.

A pak tam byl jeden velký krok stranou (a vzhledem k článku úplný off topic) o tom, jak snadno se dá napsat XML/HTML parser a potažmo, jak moc je HTML jednoznačné. Ty pořád tvrdíš, že HTML parser si nic nevymýšlí, že všechno je jednoznačně dané. OK, vem si tedy nějaký triviální příklad, např:

[ul]
[li]
[div][/div]

Jak se z toho zpracuje DOM? Takhle:

[ul]
[li]
[div][/div]
[/li]
[/ul]

nebo takhle:

[ul]
[li][/li]
[/ul]
[div][/div]

Která varianta a proč? Specifikace přece neurčuje, jak se má naložit s chybným kódem - a přitom parser nesmí zkolabovat. Co je to jiného, než že se musí sám nějak rozhodnout, jak s tímto případem naložit. To v XML nehrozí, jeho formální gramatika je zcela jednoznačná a přímočará (jakkoli se s definováním rekurzivních entit v DTD dají vytvořit málo přehledné konstrukce, algoritmicky to je jasné) a na syntaktické chybě selže (což mi přijde jako nejlepší možné řešení).

21 Chamurappi

1. 3. 2007 čtvrtek, 0.31

[16] Díky.

[20] > a přitom parser nesmí zkolabovat
Proč nesmí?

22 dgx - web

1. 3. 2007 čtvrtek, 0.53

Ano, to že je v HTML všechno jednoznačné, je pro tu diskusi hodně podstatné. Nechci řešit evangelizační význam XHTML, o něm nepochybuji.

Ale konkrétně: ve tvém příkladu není co řešit. Koncová značka [ul] není volitelná, tudíž uvedený kód není (platný) HTML dokument. Hotovo šmitec. Co tam máš dál?

Zmínka, že "XHTML nepřináší oproti úpravám syntaxe nic nového" byla reakcí na domýšlení si jednotek jakožto nevýhody HTML. To je nesmysl, je to vlastnost obou formátů.

> "XHTML lze narozdíl od HTML parsovat existujícími XML nástroji"...

...a HTML lze parsovat existujícími HTML nástroji. To se točíme dokolečka. Řeč je o "snadnosti" formátu. V okamžiku, kdy se mi tě podaří přesvědčit, že HTML je jednoznačné, asi dojdeme k závěru, že XHTML parser = cca HTML parser + DTD parser. Tedy dva parsery v jednom. A 2>1, o tom to celé je.

Ale rozsekněme prosím definitivně problém jednoznačnosti HTML a tím i problém parserů. Ok? Souhlas? Tohle bych rád měl z krku, bez toho se dál nedostaneme.

Budu krutě algoritmický. Nejprve ve dvou bodech popíšu celou logiku doplňování volitelných koncových značek HTML. Takže element se uzavře (tj. koncová značka doplní) tehdy, pokud:

a) je otevřen nový související sourozenec
b) je ukončen nadřazený blok

Příklad: a) nové [li] ukončí předchozí [li], [dt] ukončí předchozí [dd] nebo [dt] a dále za b) [/ol] ukončí přechozí [li], nebo [/dl] ukončí přechozí [dt] nebo [dd].

Dále, padla taky zmínka o komplikovanosti parsování kvůli chybějícím uvozovkám kolem atributů.

Takže, jak to dělá XHTML. Parser načetl atribut, dále znak = a poté:

- následuje " -> terminátor bude "
- následuje ' -> terminátor bude '
- načítají se znaky hodnoty atributu, dokud se nenarazí na terminátor

Jak to dělá HTML? Opět po rovnítku:

- následuje " -> terminátor bude "
- následuje ' -> terminátor bude '
- následuje něco jiného -> terminátor bude > nebo whitespace
- načítají se znaky hodnoty atributu, dokud se nenarazí na terminátor

WOW! O jednu podmínku víc! To musí být pomalé. Ale o dva cykly méně! Tož není aj třeba rychlejší? :-)

Pak ještě je třeba rozlišovat prázdné elementy podle názvu tagu. Algoritmus:

- jde-li o element img,hr,br,input,meta,area,base,col,link nebo param -> je prázdný.

HOTOVO. Tohle je celá magie HTML parseru. No fuzzy logic, no voodoom, just simple dgx knowhow. Čumáček rulez!

A teď se ptám: je tvorba DTD parseru, tedy nezbytného doplňku XHTML parseru, ještě jednodušší než tohle? A dokáže to tvůj kečup?

23 dgx - web

1. 3. 2007 čtvrtek, 0.56

[21] ano, to mi vypadlo...

HTML parser nesmí zkolabovat jen proto, že zuřila válka prohlížečů, stránky psal kdekdo, a když nefungovaly, tak lidi vyměnili browser. Žádné HTML, ale obchod!

Tak schválně, který prohlížeč bude mít první nekolabující XHTML parser? Opera má našlápnuto. Nejde o nic jiného, než způsob implementace a byznys.

24 Pixy

1. 3. 2007 čtvrtek, 9.17

Aha, já jsem na to přišel. Ty pořád myslíš, že já srovnávám HTML a XHTML. Jenže já srovnávám (X)HTML a XML. No nic... Fakt mluvím nejen o něčem jiném, ale i jinou řečí... ;)

"...a přitom parser nesmí zkolabovat > Proč nesmí?" --- Protože nikde nikdy nezkolabuje. Ještě jsem neviděl HTML parser, který by na výstupu neměl hotový DOM, ale syntax error. Kdybys takový napsal, tak tě za něj lidi ukoušou.

Takže tvoje řešení "uvedený kód není (platný) HTML dokument. Hotovo šmitec." je akorát tak úhybný manévr. Přitom když si ten kód dáš do browseru, tak každý na jeho základě něco zobrazí. Žádný ti nenapíše "Chybný HTML kód, končim, šmitec". Takže ten parser si musí poradit i s chybným kódem, což je to, o čem neustále dokola mluvím a jsme zase tam, kde jsme byli.

Rozbíháš se se stále větším beranidlem proti otevřeným dveřím a neustále mě přesvědčuješ o věcech, ve kterých máme oba jasno. Já přitom jen tvrdím, že HTML parser je (a musí být) splachovací a musí zpracovávat i chybný kód, zatímco XML parser nemusí. A tomu ty pořád a pořád uhýbáš. Kdybychom se bavili jen o zpracování korektního a validního kódu, tak je HTML parser bezpochyby jednodušší, o tom žádná. Ale já od samého začátku tvrdím, že kámen úrazu je v tom rozsekávání chyb, které XML dělat nemusí.

25 dgx - web

1. 3. 2007 čtvrtek, 9.30

> Kdybychom se bavili jen o zpracování korektního a validního kódu, tak je HTML parser bezpochyby jednodušší.

Fajn, to mi stačí.

Zbývá poslední věc: už souhlasíš s tím, že HTML dokument vždy jednoznačně popisuje strom, nebo máš ještě pochyby?

-------

poznámka: Ano, celou dobu se bavím o HTML a XHTML, o ničem jiném. O HTML a XHTML dokumentech, nikoliv o náhodném shluku znaků.

26 Pixy

1. 3. 2007 čtvrtek, 12.01

Validní HTML dokument? To patrně ano, o tom bych nejspíš nikdy nepochyboval. (nicméně o tom jsem nikdy nemluvil, v tom už si snad rozumíme).

27 Arthur Dent - web

1. 3. 2007 čtvrtek, 14.35

Jiří, promiň offtopic... Tak koukám na tvou favicon a nemohu si pomoci, ale vidím v ní stylizovaného hnědého nosorožce, co je nakrknutý, že šlápnul na něco šedého.

A teď už se toho nezbavím... ;)

28 dgx - web

1. 3. 2007 čtvrtek, 18.13

[26] ne patrně, ale jistě.

Takže když se vrátíme zpět k úplnému počátku diskuse http://www.lupa.cz/clanky/soumrak-nad-modernim-x/nazory/174593/vlakno/#o174593

Pixy: kdo do toho trochu vidí, chápe, že XHTML měl být jen jakýsi meziščlánek, přestupní stanice od nevázaného a neurčitého HTML, kde si každý dělá co chce a jak chce, k něčemu striktnímu, zcela exaktně definovanému, co umožňuje jak unifikaci výstupu bez ohledu na prohlížeč, tak i algoritmizované manipulace, další strojové zpracování atd.

Dgx: Hovoříš o HTML 4.01? :-) Respektive, existuje v HTML 4.01 něco, co není exaktně definované, co je vázané na prohlížeč nebo co nelze algoritmicky zpracovat? A strojové zpracování - existuje v této nice něco jednoduššího, než parser HTML?

Závěr: Ano, to exaktní a to s jednodušším parserem, je HTML 4.01 :-)

Díky za diskusi!

[27] já tam vidím dva souložící nosorožce, nemůžu si pomoct :-)

29 dgx - web

1. 3. 2007 čtvrtek, 18.45

Ještě poznámku. Pokud se bavíme o formátech, jejich vlastnostech atd., je snad zcela samozřejmé, že je řeč o PLATNÝCH dokumentech. Nebo když platíš v restauraci a explicitně ti nezdůrazní, že chtějí platné peníze, dáš jim falešné? A budeš se rozčilovat, proč je odmítají?

Míchat do diskuse nějaké konkrétní implementace jednotlivých formátů (parserů) je přinejmenším divné, ale argumentovat jimi, to už je demagogie.

Nikdo neříká, že HTML parser musí polknout vše. Že to tak dělají prohlížeče má historický důvod, ale to je přece věc těch prohlížečů, ne vlastnost formátu (http://www.w3.org/TR/html4/appendix/notes.html#h-B.1)

V okamžiku, kdy naprogramuji XHTML parser se zotavováním z chyb a HTML parser, který na první chybě ukončí zpracování dokumentu, tak se celá tvá teorie zhroutí? To potom stavíš na hodně chatrných základech. Jen proto, že existuje nějaký XHTML parser, který ignoruje chyby, je XHTML formátem, který je nejednoznačný? Ne, je to pořád ten stejný formát.

30 Lukáš Havrlant - web

1. 3. 2007 čtvrtek, 18.52

dgx: Můžu ještě k těm parserům? :-)

Určitě to už někde v diskusi padlo, ale jak by si tenhle parser poradil s NET a podobnými kravinami? Pokud se tedy bavíte zcela obecně, měl by i tohle obecný HTML parser zvládat, ne? Nikdy jsem parser nepsal, nemám zdání jak na to, ale třeba s "Empty Start Tag" už by mohla být větší legrace, ne?

31 dgx - web

1. 3. 2007 čtvrtek, 19.15

[30] Jistě, obecný HTML parser by měl zvládat HTML v celé šíři. Nebuď skromný a netaj relevantní odkaz http://atd.havrlant.net/zkracene-html-zapisy :-)

Teoreticky jde jen o pár jednoduchých instrukcí do parseru. Třeba empty end tag je vyloženě sympaťák, který bych uvítal zejména v XML (značně by snížil objem dat). Proč se to v praxi neimplementuje, je jen částečně chybou browserů, problémem je XHTML, které je třeba s NET kolizní.

32 Arthur Dent - web

2. 3. 2007 pátek, 1.29

teda pardon že se do toho vmísím s rozhodností neznalce, ale - NET a Empty Start Tag je něco příšernýho. Neznal jsem to a jsem fakt rád, že jsem to neznal. Dovolte přirovnání:

1. Je fajn, že C umožní zápis "i++-++j---i", ale říkám si, jestli není lepší jazyk, který to neumožní. Silné nástroje jsou dost často nebezpečné a neodvažuju se ani domyslet, jak by to vypadalo, kdyby do světa HTML někdy dorazily ukrutnosti např. ze strojáku.

2. Parser, který z kontextu domýšlí, co jsem asi chtěl napsat, je stejný všivák jako čtenář, který si domýšlí, co jsem určitě chtěl napsat na místě tří teček... Zejména protivná je tato funkce ve chvíli, kdy si to domýšlí sveřepě blbě. Pak člověk opravdu ocení jazyk s jednoznačnou syntaxí a typově přísný, protože v takovém pozná, zda udělal kravinu on nebo interpret.

3. Chce se mi zvolat: Bože, zahodíte čitelnost kódu kvůli několika ušetřeným bajtům - a jinde letěj mega komínem ani nemrknete. Tak použijte GZip, když už! Bajty ušetřené empty end tagem rozhodně nestojí za ty pekelné chvíle, když budete muset v bujaře strukturované stránce nějakého byte-šetřílka udělat změny.
---
Naštěstí my laici můžeme vydávat podobné kategorické soudy... :)

33 Jiří Bureš - web

2. 3. 2007 pátek, 9.09

Pánové, pánové. Pořád odbíháte od tématu a tím jsou nosorožci. Furt nějaké HTML, XHTM, parsery a parseky. Jako nakrknutý nosorožec tomu vůbec nerozumím.
Někteří to naštěstí pochopili a věnují se nosorožcům a taky tomu, do čeho nosorožci mohou šlápnout. Díky.
Naštěstí se bomba, kterou jsem sám na sebe hodil, ujala (hnidopichy prosím, aby nepsali, že Google bomba je něco jiného), protože jako nosorožec to nejsem schopný pochopit.
Ač nosorožec, tak se pokusím vyslovit svůj názor (i když je off-toppic). Když jsem onehdy četl Lukášův článek Zkrácené HTML zápisy, tak jsem si jednak řekl, že je Lukáš hlava, ale taky jsem si řekl potěšprso, kdo to pak bude louskat (třeba i sám po sobě). Takže já radši:
* zavírám, co jsem otevřel a má být uzavřeno,
* dávám úvozovky kolem hodnot atributů,
* a vůbec (X)dělám co bych v HTML nemusel.
A všem se to snažím doporučit.

34 Lukáš Havrlant - web

2. 3. 2007 pátek, 10.29

[32] Artur Dent: ad 2:

On si ale nic nedomýšlí, netipuje, nestřílí, nehádá. Vždycky . Nezdá se mi pravděpodobné, že by dva stejné validní HTML kódy rozebral parser pokaždé jinak (či že by dva různé parsery oba dodržující standard rozebraly kód jinak). Lze to vlastně zjistit jednoduše u validátoru, když člověk zaškrtne políčko - hmm, tak změna, validator už mi konečný kód nechce ukázat.

Ok, tak co třeba tenhle kód:


35 Lukáš Havrlant - web

2. 3. 2007 pátek, 10.31

Aha, tak ještě jednou, zapíšu tagy přes entity:

[32] Artur Dent: ad 2:

On si ale nic nedomýšlí, netipuje, nestřílí, nehádá. Vždycky . Nezdá se mi pravděpodobné, že by dva stejné validní HTML kódy rozebral parser pokaždé jinak (či že by dva různé parsery oba dodržující standard rozebraly kód jinak). Lze to vlastně zjistit jednoduše u validátoru, když člověk zaškrtne políčko - hmm, tak změna, validator už mi konečný kód nechce ukázat.

Ok, tak co třeba tenhle kód:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title/Titulek/
<p<ul<li/prvni<>druha<>treti</ul>


Neříkám, že to není prasárna, ale vidím pouze jediný způsob, jak by to měl parser přečíst:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title>Titulek</title>
<p></p>
<ul>
<li>prvni</li>
<li>druha</li>
<li>treti</li>
</ul>


Doufám, že jsem se v něčem nesek, NET a podobné šílenosti přeci jen nepoužívám každý den. I HTML má prostě "jednoznačnou syntaxi". Jestli ne, vymysli validní příklad, ze kterého by nebylo zřejmé, jak by to měl parser vidět.

[33] Louskat to nebude, zaplať pánbů, nikdo. Kdyby to někdo přelouskal - Chamurappiho oblíbený argumet - bylo by to spíš špatně.

Chtěl jsem ještě dodat něco víc k tématu, ale nějak nevím co, takže se také omlouvám za OT :-).

36 Lukáš Havrlant - web

2. 3. 2007 pátek, 10.35

Napadá mě, že mi v tom minulém příkladu chybí ještě základní tagy <html>, <head> a <body>, takže kompletně by to asi vypadalo takto:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Titulek</title>
</head>
<body>
<p></p>
<ul>
<li>prvni</li>
<li>druha</li>
<li>treti</li>
</ul>
</body>
</html>

37 Jiří Bureš - web

2. 3. 2007 pátek, 11.03

[35] Pokud problém není v HTML parserech, které by měly stejný (z hlediska člověka) neurčitý kód doplnit vždycky stejně, tak je problém určitě v autorovi, který si myslí, že to parser přečte jak on chtěl. Jako příklad mohou sloužit kódy, které uvedl Pixy.

Na každý pád je ale jistější psát HTML kód podle některých zásad XHTML (viz [33]).

38 Jiří Bureš - web

2. 3. 2007 pátek, 11.04

Ještě doplním [37]. To, že HTML svou rozvolněností něčemu nahrává, je svým způsobem asi taky špatně.

39 Arthur Dent - web

2. 3. 2007 pátek, 11.14

Ale Lukáši, já jako amatér nepotřebuju vymýšlet kód, který bude validní a nezřejmý, já se nedohaduju o efemérních nuancích parserů. Já vidím, že tenhle kód je nezřejmý mně, a pokud mi bude udělat změny do nějakého takového kódu, tak jeho autora poženu bejkovcem třikrát dokola. Jako argument mi to stačí. Je to tobě málo? Ty jsi nikdy nebyl v situaci, že kolega odešel a tys musel do něčeho, co psal před dvěma lety, udělat "drobnou změnu"?

40 Lukáš Havrlant - web

2. 3. 2007 pátek, 11.36

[39] Ok, já jen chtěl říct, že i HTML má jedinečnou syntaxi, nic víc :-). Je jasné, že v tomhle se normální člověk prostě nevyzná a pro web je to takřka nepoužitelné...

[37] Jo, to jo, psal o tom kdysi dávno už Yuhů a já s ním a tedy i s tebou souhlasím :-).

41 dgx - web

2. 3. 2007 pátek, 13.30

[39] neboj, nikdo to nepoužívá, protože browsery tomu nerozumí. To existuje jen proto, aby odborníci z nejpovolanějších měli čím machrovat :-)

[37] Jiří, HTML kód není neurčitý. Nikdy.

Je-li totiž neurčitý, tak je neplatný. To je jako když HEX editorem změníš v souboru JPG pár bajtů. Jak se s tím vypořádá ten který program, je ve hvězdách.

Pixy v diskusi předkládal takto poškozené JPG a používal je jako argument, že JPG je špatný formát. A dále, že TIFF je mnohem lepší, protože ACDSee ten poškozený JPG nějak špatně zobrazil, ktežto na poškozeném TIFFu zhavaroval.

42 Arthur Dent - web

2. 3. 2007 pátek, 13.31

[37] Zavírám, nekřížím, do uvozovek dávám. A proč to dělám? Ze stejného důvodu, z jakého si odděluju bloky v programu prázdnýma řádkama a dávám občas mezery tam, kde bejt nemusej, tedy ABYCH TO PO SOBĚ PŘEČET a ABYCH V TOM LÍP NAŠEL CHYBY.

Pointa věci je jasná: XHTML mne takto psát nutí, HTML mi to umožňuje. Pokud budu "budoucí generace", bude pro mne lepší, začnu-li se učit s přísnějším učitelem. Proto v tomhle punktu souhlasím s nakrklým nosorožcem.

Mimochodem, už vím kde jsem tu favicon viděl! To šedivé je keříček, to hnědé je moudré uintatérium a celé je to z Hébičky: http://www.sweb.cz/JSpurny/Heebicka/Comics/comics-Vzducholodicka.jpg

43 dgx - web

2. 3. 2007 pátek, 13.57

[42] nedej na pouhé zdání. Je přísnější učitel ten, který žákovi schvaluje tohle? http://www.dgx.cz/knowhow/xhtml/ - jeden za osmnáct a druhý bez dvou za dvacet. Žák holt musí být čistotný, ne prasátko.

44 Arthur Dent - web

2. 3. 2007 pátek, 14.58

[43] Co tím bylo dokázati? Tedy kromě toho, že když zabrousíš do nuancí, které jsou opravdu hodně vzdálené pojmu "začínat", tak dokážeš stvořit prasárnu i pod přísnějším kantorem...

45 Jiří Bureš - web

2. 3. 2007 pátek, 15.15

[41] Já neříkám, že není neurčitý. Jenom se mi to tak jeví. Proto jsem tam napsal, že je to z hlediska člověka. Pravda, jsem nakrknutý nosorožec, ale taky trochu člověk.

[43] Dave, mně ta přísnost ale opravdu pomáhá. Nemusím přemýšlet, kde můžu něco udělat, kde to nesmím udělat.

46 dgx - web

2. 3. 2007 pátek, 21.15

[44] Arthure, utekla ti pointa. XHTML tě "do toho" nutí, zatímco HTML - tě do toho taky nutí. Nesmíš křížit. Musíš uzavírat (jen kromě vzácných výjimek). Nevymlouvej se na učitele.

[45] Ale mně přísnost taky šíleně vyhovuje. Když programuju v PHP, tak převádím chyby úrovně "notice" (tedy -prý- nezávažné) na chyby "fatal error" (okamžitý konec skriptu) atd.

Jenže - ta přísnost je o přístupu, ne o jazyku. Já můžu vynechávat koncové značky [/ul] (viz [20] v obou formátech. V obou je to chyba! V obou to nějak prohlížeč zobrazí (protože nikdo nepoužíváme patřičný mimetype). V obou na tom validátor zařve. Je to o přístupu - validuješ nebo na to kašleš?

Proč však neustále zaznívá, že jeden to dovoluje a druhý nikoliv? To mi vadí.

Nový komentář







Odřádkovat odstavce v komentáři (pomocí <br>)

Můžete použít HTML značky. URL začínající http:// se převedou na odkaz (z obou stran musí být mezera).


Další…

Archiv starších článků.

Od roku 2002 conBLOG píše Jiří Bureš, conVERTER

Tip: MC Klubíčko Kroměříž