« 1 2 »
Autor Zpráva
Anonymní
Profil *
som zaciatocnik a chcem zistit aky je rozdiel medzi html a xhtml. prosim porodte mi. dik
djlj
Profil
prosim porodte mi.
Rodit nebudu, ale využij horní hledání, řešilo se to tu mockrát.

Například http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=10&topic=1 1358
Anonymní
Profil *
ja tomu zas moc nerozumim, ale vim jaka se tu strhne hadka (pokud prijde chamurappi)... =D
Bubák
Profil
Hezké čtení na dlouhé zomní večery ;-)

http://atd.havrlant.net/jak-funguje-html
http://atd.havrlant.net/jak-na-dokonale-xhtml
http://www.w3.org/TR/xhtml1/#diffs
http://www.sovavsiti.cz/c01242.html
http://www.jakpsatweb.cz/html/xhtml.html
Spikee
Profil
Fakt skúste hľadať. Včera sa to tu (opäť) riešilo.
jozob
Profil
Anonymní2
"ale vim jaka se tu strhne hadka (pokud prijde chamurappi)"
Práve si ju rozpútal. Prečo by mal Chamurappiho výskyt hneď znamenať hádku? Prečítaj si tie diskusie a možno pochopíš, že Chamurappi nezačína hádky, ale len vyvracia nesprávne tvrdenia, uvádza správne tvrdenia.

Anonymní1
"aky je rozdiel medzi html a xhtml"
1) XHTML je aplikáciou XML, HTML je aplikáciou SGML.
2) Z predošlého bodu vyplýva syntax --> v HTML sa prázdne elementy neuzatvárajú, v XHTML áno.
3) XHTML môže využívať výhody XML --> menné priestory --> v XHTML dokumentoch je možné začleniť do seba viacero typov dokumentov, existujú pravidlá vzájomnej interakcie týchto dokumentov. V HTML to nie je možné. Pracovná skupina si pravdepodobne zobrala koncepciu CONCURu a upravila ju do podoby namespace.
4) Pre HTML existuje MIME typ text/html, pre XHTML application/xhtml+xml, application/xml ...
5) HTML je možné parsovať SGML parserom --> je možné používať niektoré SGML konštrukcie, v XHTML nie / resp. menej, ak nejaké sú.
6) XHTML musí byť well-formed, aby preliezlo parserom, HTML nie.
7) XHTML nie je well-formed, pokiaľ sa nedoťahá celý dokument --> dokument sa nevykreslí skôr, ako dorazí celý, v HTML sa dokument môže vykresľovať priebežne.
8) XHTML nie je spätne kompatibilné.
Atď, dalo by sa o tom rozprávať celé dni.
Jirka Kosek
Profil *
7) XHTML nie je well-formed, pokiaľ sa nedoťahá celý dokument --> dokument sa nevykreslí skôr, ako dorazí celý, v HTML sa dokument môže vykresľovať priebežne.

A proč by se XHTML dokument nemohl vykreslovat průběžně? Technicky tomu nic nebrání. To, že některé prohlížeče neumějí XML číst a vykreslovat proudově, je neschopnost jejich autorů, ne principiální omezení XHTML.
Chamurappi
Profil
Reaguji na Jirku Koska:
Při průběžném vykreslování nedotažené stránky vykreslují dokument, který není správně sestavený.
jozob
Profil
Jirka Kosek
No zatiaľ mi nikto nevysvetlil, ako je to technicky možné. Pokiaľ nie je dokument správne zostavený, nevykreslí sa. No pokiaľ nie je dotiahnutý celý, môže sa vykresliť?

Nedáva mi to zmysel. Ako je možné považovať nekompletný dokument za správne zostavený? Alebo sa to porušuje a nezmyselne sa dodatočne kontroluje správnosť zostavenia až po dotiahnutí celej stránky? To je už totálna blbosť.

Tak ako je to v skutočnosti? Akým spôsobom je možné začať vykreslovať nekompletný (=nesprávne zostavený) XML dokument?
Bubák
Profil
jozob
Já budu hádat, protože nevím. Pokud někdo ví, rád se poučím.

Řekněme, že dokument je z poloviny načtený. Některé tagy jsou neukončené. Prohlížeč si "donyslí", jak budou uzavřeny, není to tak těžké, je jen jedna možnost, protože tagy se nemohou křížit.

Myslím si, že takhle nějak to implementovali do Opery 9.00. Neznám jiný prohlížeč, který XHTML vykresluje postupně, ale pokud existuje, rád bych se o něm dozvěděl.
jozob
Profil
Bubák
"Řekněme, že dokument je z poloviny načtený. Některé tagy jsou neukončené. Prohlížeč si "donyslí", jak budou uzavřeny, není to tak těžké, je jen jedna možnost, protože tagy se nemohou křížit."
To je síce pekné, ale ako prehliadač vie, že dokument bude správne zostavený? Čo ak bude na konci chýbať značka </html>? Dokument bude vykreslený a zrazu sa zistí, že je nesprávne zostavený. Čo urobí prehliadač? Zastaví vykreslovanie, vymaže z canvasu doposiaľ vykreslený obsah a hodí tam hlásenie o chybe? :o)
Bubák
Profil
Opera 9.00 vyhodí hlášku o chybě, u některých beta verzí byla možnost chybnou stránku zobrazit HTML parserem.
krteczek
Profil
Řekněme, že dokument je z poloviny načtený. Některé tagy jsou neukončené. Prohlížeč si "donyslí", jak budou uzavřeny, není to tak těžké, je jen jedna možnost, protože tagy se nemohou křížit.

Myslím si, že takhle nějak to implementovali do Opery 9.00. Neznám jiný prohlížeč, který XHTML vykresluje postupně, ale pokud existuje, rád bych se o něm dozvěděl.


Opera 9.00 vyhodí hlášku o chybě, u některých beta verzí byla možnost chybnou stránku zobrazit HTML parserem.

No to je pěkné, takže opět se potvrdila stará pravda:
Život si vždycky najde cestu. (Jurský park) jako reakce na Chamurappiho vysvětlení proč je xhtml špatná cesta: Chyba? smrt!
Co na tom že to není podle pravidel?
krteczek
PS: Hodně jsem to zjednodušil a myslím si že xhtml jako aplikace xml není ta správná cesta webu.
Timy
Profil
jozob
To je síce pekné, ale ako prehliadač vie, že dokument bude správne zostavený? Čo ak bude na konci chýbať značka </html>? Dokument bude vykreslený a zrazu sa zistí, že je nesprávne zostavený. Čo urobí prehliadač? Zastaví vykreslovanie, vymaže z canvasu doposiaľ vykreslený obsah a hodí tam hlásenie o chybe? :o)
Na druhou stranu - proč by to přesně takto nemohlo být?
jozob
Profil
Timy
Potom by to bola totálna kravina. Už mám celý dokument vykreslený a zrazu, keď zistím, že chýba jedna bezvýznamná značka </html>, zruším všetko čo som vykreslil a hodím chybovú hlášku. Nie je to postavené na hlavu?
Timy
Profil
jozob
Inu, původní debata byla o tom, zda je nějak možné, aby se XHTML vykreslevalo postuně, což se zde splnilo. Debata o smyslnosti či nesmyslnosti toho, že to při jedné chybě vyhodí dračí error se zde pokud vím neřeší.
Chamurappi
Profil
Reaguji na jozoba:
Čo ak bude na konci chýbať značka </html>?
Nebo když bude před jejím vypsáním nekonečně dlouhá pauza? Část návštěvníků si kompletní sdělení dokumentu bez problémů přečte, zbytek nemá šanci.


Reaguji na Timyho:
Tak samozřejmě, že to prakticky nějak vyřešit jde. Naprogramovat lze prakticky cokoliv. Ale jednak se tím XML procesor zkomplikuje, jednak se tím poruší specifikace.

Nejde ani tak o to, že dokument jako celek není správně sestavený -- ta správná sestavenost totiž není vlastnost příslušící výhradně dokumentu. Správně sestavené můžeme mít elementy, (odvolání na) entitu, externí rozebírané entity i interní podsady DTD. Co musí splňovat? Tři podmínky. Jedna z nich zahrnuje celý dokument. Neříká přímo, že jako celek musí být správně sestavený, říká, že musí vyhovovat definici gramatiky document ::= prolog element Misc*. Nevyhovuje-li jí, pak není žádná jeho dílčí součást správně sestavená. Pokud toto XML procesor přehlíží a vesele propouští nesprávně sestavené elementy a entity do chřtánu natěšené aplikace, pracuje sice pro dobro uživatele, ale ignoruje drakonismus (jehož smyslem je „vyšší dobro“).

Uznávám, že má dva roky stará interpretace nebyla příliš přesná, jejím závěrem jsem si však nyní jist více než tenkrát.
Jirka Kosek
Profil *
Chamurappi:Při průběžném vykreslování nedotažené stránky vykreslují dokument, který není správně sestavený.

jozob:Tak ako je to v skutočnosti? Akým spôsobom je možné začať vykreslovať nekompletný (=nesprávne zostavený) XML dokument?

No nějak nerozumím tomu, v čem vidíte problém. Proč by nešlo průběžně zobrazovat XHTML dokument, když to jde pro HTML dokument? Well-formdness dokumentu s tím nemá nic společného. Pokud je dokument WF (správně sestavený, jak říkáte), není zde žádný problém. Pokud by načítaný dokument nebyl WF, můžeme se bavit o tom, co má prohlížeč dělat v okamžiku, kdy to zjistí.

A jak to může být implementováno v praxi? Velice jednoduše. Prohlížeč běží ve dvou vláknech. Jedno vlákno čte XHTML stránku postupně pomocí SAX parseru z nalezených elementů, atributů a textových uzlů a postupně buduje DOM strom. Druhé renderovací vlákno buď čeká na změnu DOM a stránku překresluje, nebo DOM v nějakých pravidelných intervalech vezme, a celý znovu překreslí.

Také nerozumím tomu, proč si myslíte, že nekompletní dokument automaticky není WF. Vy akorát v danou chvíli nevíte jestli je nebo není WF, protože někde dál může být chyba.
jozob
Profil
Jirka Kosek
"Také nerozumím tomu, proč si myslíte, že nekompletní dokument automaticky není WF."
No myslím, že parseru môže byť jedno či je zvyšok dokumentu WF, pokiaľ dokument nedorazí celý. Preto si stále myslím, že musí doraziť značka </html>, aby mohol prehliadač začať vykresľovať dokument.
Jirka Kosek
Profil *
Preto si stále myslím, že musí doraziť značka </html>, aby mohol prehliadač začať vykresľovať dokument.

To je pak ale těžké. Člověk vám popíše jak to funguje (a ono to tak i funguje ve většině prohlížečů pro HTML), ale vy si pořád myslíte, že to nejde.
jozob
Profil
Jirka Kosek
Myslel som si, že špecifikácia hovorí o tom, že parser by mal skončiť pri nesprávne zostavenom dokumente. Ak to funguje tak ako hovoríte a ak tomu správne rozumiem, prehliadače potom porušujú špecifikáciu. (nehovorím, že sa nemýlim)
Jirka Kosek
Profil *
Myslel som si, že špecifikácia hovorí o tom, že parser by mal skončiť pri nesprávne zostavenom dokumente.

Specifikace čeho? XML nebo XHTML?

Standard XHTML nikde neříká, že dokument musí být WF, aby se mohl zobrazit. Jen říká, že se dokument musí parsovat podle pravidel XML, a že se musí zkontrolovat WF, ale naštěstí nikde není řečeno, že by se dokument (nebo jeho část) nesměl zobrazit, pokud je WF porušena.

prehliadače potom porušujú špecifikáciu

Ano a to mnoho specifikací a v mnoha aspektech, ale zrovna v tomhle ne. IE a Mozilla jsou naopak při čtení a zobrazování spíše papežštější než papež.
lopik
Profil
co keby to niekto z vas vyskusal aby sa ukoncila tato nezmyselna hadka?
WanTo
Profil
lopik
Mně nesmyslná nepřijde. Například já jsem se dozvěděl spoustu zajímavých věcí.

Jen tak dál kluci, ale hlavně ať z toho není flame :)
thingwath
Profil
lopik
A co a jak bys chtěl vyzkoušet?
Timy
Profil
Jirka Kosek
To je pak ale těžké. Člověk vám popíše jak to funguje (a ono to tak i funguje ve většině prohlížečů pro HTML), ale vy si pořád myslíte, že to nejde.
Tento konkrétní úsek nedotaženého XML dokumentu nemůže být WF, tak to bylo myšleno, tipl bych si.

Chamurappi
No a co to říct takhle? Prohlížeč začne postupně vykreslovat stránku a když narazí na chybu, vyhodí dračí error ==> takže prohlížeč nakonec nevykreslil nWF dokument ;-).

A ještě taková selská logika (ale asi budu uspecifikován): XML musí být WF. Pokud není WF, tak to vlastně není XML a prohlížeč si s tím může dělat co chce :o).
llook
Profil
To je pak ale těžké. Člověk vám popíše jak to funguje
Dovolím si ocitovat Chamurappiho odpověď na podobný "popis jak to funguje" ode mě:

Ale o překreslení přeci vůbec nejde. Jde o určení správné sestavenosti. Popsaný algoritmus by sice byl funkční, nicméně by nedodržoval doporučení. Správné sestavení vyžaduje uzavřenost všech značek a to během načítání není. Ani nemůže být. Nekompletní dokument proto nelze rozebírat.
Jirka Kosek
Profil *
Ale o překreslení přeci vůbec nejde. Jde o určení správné sestavenosti. Popsaný algoritmus by sice byl funkční, nicméně by nedodržoval doporučení. Správné sestavení vyžaduje uzavřenost všech značek a to během načítání není. Ani nemůže být. Nekompletní dokument proto nelze rozebírat.

A co má být? Nikde nevidím jediné zdůvodnění toho, v čem by postupné vykreslování bylo v rozporu s nějakou specifikací W3C. Zakazuje snad nějaká specifikace proudové čtení XML? Zakazuje snad nějaká specifikace postupné vykreslování XHTML?

Logika citované věty je ve smyslu -- "nemůžu ta data načíst, protože dokud je nenačtu, nevím jestli jsou v pořádku, a jestli je tedy můžu načíst". Když se to napíše takhle, je už doufám jasné každému, že to je úplná blbost.

Nekompletní dokument proto nelze rozebírat.
Wow, a jak se pak tedy určí, že ten dokument je nekompletní? Že by tím, že se během parsování (rozebírání) zjistilo, že v dokumentu není něco v pořádku?

Doporučil bych nastudovat si nějaká proudová rozhraní pro čtení XML, jako je SAX, StAX nebo třeba XMLReader. To vás snad přesvědčí o tom, že XML lze číst postupně, i když dopředu nevíte, jestli je dokument WF.

Chamurappi sice umí zručně argumentovat, bohužel ne vždy tím správným směrem.
krteczek
Profil
<ot>
docela by mne zajímalo jaká data jsou vlastně do xhtml převážně exportována? myslím jestli se jedná třeba o exporty tabulek nebo něco jiného a pokud i něco jiného, tak bych rád viděl procentualní zastoupení těch ruznych druhů dat, pokud je to možné.
</ot>
krteczek
jozob
Profil
Jirka Kosek
Ako sú na tom dnešné prehliadače s používaním SAX API?
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.

0