« 1 2
Autor Zpráva
krteczek
Profil
Jirka Kosek: Jestli správně chápu smysl XML a proč bylo navrženo (zjednodušeně: přenášení dat mezi různými systémy), tak tzv Dračí Error musí nastat vždy při jakékoliv chybě ve stromu xml, protože chybějící koncová značka, ikdyby to byla v dokumentu opravdu ta úlně poslední, nejde domyslet.

Je pravda, že specifikace XML jsem nečetl a ani je neznám, na druhou stranu jsem zde na diskuzi (i jinde) přečetl spousta argumentů pro i proti xhtml jako aplikace XML, takže se pokusím laicky sesumírovat získané informace:

1. předpokládám, že aplikace (říkejme ji třeba "A"), která XML datový soubor vytváří _ručí_ za správnost sestavení xml dokumentu a i ho nějak kontroluje.

2. z toho co vím mi vychází, že správně sestavený XML strom je jakousi zárukou kompletnosti dat v něm

3. Dostávám se k aplikaci "B", která se snaží XML dokument importovat. Myslím, že je jedno, jestli zpracovává XML proudově nebo jako celek, důležité je aby byl dokument jako celek WF, protože jinak nelze zaručit, že data v něm jsou kompletní. A pokud nejsou data kompletní, mohlo by dojít v aplikaci "B" po jejich importu k neočekávanému chování.
Jednoduchý příklad:

<tag1>
<tag2>neco2</tag2>
<tag3>neco3</tag3>
<tag4>neco4</tag4>

Tak parsere a teď přemýšlej jestli tam chybí jen </tag1> nebo třeba 1GB dat...

I tento velice jednoduchý příklad naznačuje, proč musí dojít na Dračí Error:
XML parser si nemůže domýšlet značky, protože neví, jaká byla skutečná struktura dat.

Dostávám se k tomu, proč je tedy xhtml pro internet špatná cesta:
1. jakákoliv chyba v xhtml musí vyvolat Dračí Error a nikdo není schopen zaručit že se stránka načte kompletní.
2. Posílání xhtml dokumentů jako text/html je prasárna (tak moc si stojíte na validitě xhtml dokumentů a potom jej odešlete jako nevalidní html?). V tom případě se nevytahujte, že děláte xhtml! Není to pravda a podvádíte zákazníky!

Snad jsem já pochopil smysl XML a vy proč je xhtml blbost...
krteczek
habendorf
Profil
tak moc si stojíte na validitě xhtml dokumentů a potom jej odešlete jako nevalidní html?). V tom případě se nevytahujte, že děláte xhtml! Není to pravda a podvádíte zákazníky!

... a vy proč je xhtml blbost...

No neřekl bych, že zrovna Jirka je fanatickým vyznavačem xhtml :o)
http://interval.cz/clanky/proc-nepouzivam-xhtml/
jozob
Profil
krteczek
"potom jej odešlete jako nevalidní html?"
To nie je presné tvrdenie a povedal by som, že je až zavádzajúce.
Ak dokument vyhovuje XML špecifikácii, je syntakticky správny, je WF, je valídny voči zvolenej DTD, odošleš valídne XHTML. Vždy odošleš to, čo si napísal. A v tomto prípade si napísal XHTML dokument. Jediný problém je, že oklameš prehliadač. Oznámiš mu, aký parser má použiť. Ale vždy posielaš XHTML.

"proč je xhtml blbost"
Už len preto, že ak nastane mala chyba v štruktúre, klient je odrezaný od všetkého obsahu. To je na webe nezmyselné.
krteczek
Profil
Dostávám se k tomu, proč je tedy xhtml pro internet špatná cesta:
1. jakákoliv chyba v xhtml musí vyvolat Dračí Error a nikdo není schopen zaručit že se stránka načte kompletní.
2. Posílání xhtml dokumentů jako text/html je prasárna (tak moc si stojíte na validitě xhtml dokumentů a potom jej odešlete jako nevalidní html?). V tom případě se nevytahujte, že děláte xhtml! Není to pravda a podvádíte zákazníky!


Omlouvám se, vyjádření zní celé v neprospěch Jirky Kosky, ale tady už jsem se obracel na šechny ty zaslepené vyznavače xhtml kteří hlásají, že xhtml je jediná správná cesta a vlastně xhtml neposílají jako apikaci xml ale jako text/html.

Oni prohlížeči posílají svůj vypiplný, validní (...) xhtml dokument, jako nevalidní html.

Myslím si, že to je chybný postup, a nic na tom nezmění to, že to prohlížeče skousnou.
krteczek
Jirka Kosek
Profil *
"proč je xhtml blbost"? Už len preto, že ak nastane mala chyba v štruktúre, klient je odrezaný od všetkého obsahu. To je na webe nezmyselné.

A proč myslíte, že by se parser pro načítání XHTML (nebo obecně XML) nemohl pokusit opravit opravitelné chyby a dokument i přesto načíst a zobrazit? Píše se snad někde, že XHTML dokument, který není well-formed, nesmí prohlížeč zobrazit? Děláte urychlené závěry na základě nepodložených faktů a pravděpodobně také na základě špatné udělané podpory XML a XHTML v Mozille.

Heslo Internetu bylo vždy jednoduché: "Buď konzervativní v tom co nabízíš a liberálním v tom co čteš". Po aplikaci na web je pravidlo jednoduché -- autoři stránek by se měli snažit publikovat validní HTML nebo XHTML ve shodě s odpovídajícími standardy, ale prohlížeče by měly skousnout i stránky (ať už HTML nebo XHTML), kde budou i nějaké ty chyby.
krteczek
Profil
A proč myslíte, že by se parser pro načítání XHTML (nebo obecně XML) nemohl pokusit opravit opravitelné chyby a dokument i přesto načíst a zobrazit?

Právě proto, že není schopen odhadnout, co vlastně chybí (může chybět opravdu jen ukončovací značka, aď už celého stromu, nebo nějaké části xml dokumentu), ale jak píšu výš :
XML parser si nemůže domýšlet značky, protože neví, jaká byla skutečná struktura dat.
ktreczek
quinux
Profil
krteczek
IMHO v HTML si parser značky domýšlí a rozdíl mezi HTML a XHTML zas tak výrazný není, aby parser po (malé) úpravě nemohl dělat totéž.
jozob
Profil
krteczek
XML parser by si to mohol domyslieť rovnako ako SGML parser, nemyslíš?

Jirka Kosek
Budem len a len rád, pokiaľ sa Vaše slová naplnia v praxi. No zatiaľ to vyzerá tak, že žiaden parser v prehliadačoch nič neopravuje.
Jirka Kosek
Profil *
Právě proto, že není schopen odhadnout, co vlastně chybí (může chybět opravdu jen ukončovací značka, aď už celého stromu, nebo nějaké části xml dokumentu), ale jak píšu výš :
XML parser si nemůže domýšlet značky, protože neví, jaká byla skutečná struktura dat.


Ale může. Jde vymyslet několik způsobů, jak kód opravovat a domýšlet. Jestli nevěříte, podívejte se do zdrojáků HTML-Tidy nebo TagSoup. Stejné postupy lze aplikovat na XML. Samozřejmě, že při "domýšlení" zapomenutých tagů může vzniknout něco jiného, než co autor zamýšlel. Ale tak tam neměl dělat chybu.

Budem len a len rád, pokiaľ sa Vaše slová naplnia v praxi. No zatiaľ to vyzerá tak, že žiaden parser v prehliadačoch nič neopravuje.

A brání vám snad něco sednout k počítači, takový parser napsat a zakompilovat do Mozilly?
jozob
Profil
Jirka Kosek
"A brání vám snad něco sednout k počítači, takový parser napsat a zakompilovat do Mozilly?"
Nie, už ho aj píšem :o)
WanTo
Profil
jozob
Jestli to myslíš vážně, tak mi dej vědět, až bude hotový :o)
krteczek
Profil
Jirka Kosek
Samozřejmě, že při "domýšlení" zapomenutých tagů může vzniknout něco jiného, než co autor zamýšlel. Ale tak tam neměl dělat chybu.
Předpokládám že autor vytvoří bezchybný xml dokument, k chybě může dojít cestou...

Na druhou stranu je pravda, že konkrétně u xhtml je v podstatě jedno, jak a čím bude dokument rozebrán, pokud jde třeba jen o jeho zobrazení na monitoru počítače.

Mi jde o to: když někdo dělá xhtml, tak ho má dělat podle regulí xml a odesílat ho včetně hlaviček, které takovému dokumentu přísluší. Když na sebe šije bič, tak aď neprská, že někdo nebo něco, to nebere. A když má strach, že to z nějakého důvodu nepůjde zobrazit, může použít prostředky vhodnější (html).
krteczek
« 1 2
Toto téma je uzamčeno. Odpověď nelze zaslat.