Ta antologie HTML vs. XML neni tak zanedbatelna. Zkuste si XHTML1.1 (se spravnym MIME typem) v dnesnich prohlizecich. Pokud opravdu prejdeme na XHTML1.1, narazime na par problemu: stranka se zobrazi az po nahrani celeho dokumentu a nikoliv postupne (protoze XML parser narozdil od HTML parseru ceka, aby zkontroloval well-formed). Pokud v dokumentu nastane chyba - nema se stranka vubec zobrazit (nekteri webdesigneri jasaji, uzivatele placou :-)? Jsou to tezke otazky, obzvlaste v dnesni situaci na poli prohlizecu. Sam jsem zvedav, jak to dopadne.
A není to chyba prohlížeče? Bylo by v rozporu se standardy, kdyby byla stránka parsována průběžně (viz SAX nebo .NETový XMLReader) a až po případném nalezení chyby prohlížeč zobrazil místo dosud načtených dat chybovou hlášku? Že by XHTML mělo takovéhle omezení se mi nějak nezdá...
K tomu, ze se stranka nezobrazi by nemelo dojit. Z duvodu zpetne komtability sestarsimi algor. se budou prohlizece chovat nebo by se mohly chovat tak, ze se prepnou opet do nejakeho QUIRK modu. V pripade, ze bude stranka well formed tak pojedou v ramci nejakeho striktnejsiho modu. Bude tak mozne zarucit zobrazeni i nevalidniho dokumentu.
Tak zrovna v Mozille se nic moc nezobrazi 8-) Porovnej http://penguin.cz/~met/pub/xhtml-good.php a http://penguin.cz/~met/pub/xhtml-bad.php
Nerikam, ze to takhle musi byt, beru to jako polemiku, sam nevim, jake chovani povazovat za spravne. Takova Opera se pokus stranku zobrazit a chybu vyznaci pod ni. U IE tezko rici, tam se clovek az takhle daleko (mysleno k parsovani stranky) nedostane.
Ale to, ze pokud by selhal XML parser, tak prohlizec zkusi alespon HTML parser, to neni spatna myslenka. Ale problem je slozitejsi, co treba delat v pripade, kdyz uzivatel nacitani XML stranky stopne (a chtel by videt alespon nahrany kus, jak je z HTML zvykly).
Mno, a na tohle nejsou nějaké standardy? Není to ve specifikaci XHTML 1.1 nebo něčeho souvisejícího?
Ono to (bohužel) stejně ještě pár let nebude aktuální, protože IE XHTML 1.1 prostě neumí (resp. zpracovává ho jako standardní XML), čímž by se od takových stránek odstřihla stále ještě značně převládající většina uživatelů. O tom, že by Billovi chlapci vydali v tomto směru nějaký opravný patch, si nedělám iluze; ještě menší iluze si dělám o tom, že by si ho lidi nainstalovali...:-(
Vážně? Zkoušel jste jim nastavit správný Content-type, tedy 'application/xhtml+xml'? Všechny verze MSIE, které jsem zatím viděl, vám nabídnou uložení. A pokud stránku vydáváte za HTML (text/html), pak k nim MSIE bude přistupovat jako k (poněkud pomršenému) HTML. Včetně třeba toho, že uvedete-li XML deklaraci, bude ignorovat deklaraci DTD a bude je zobrazovat v quirk mode. Skutečnost je taková, že MSIE vůbec XHTML nerozumí a zobrazí ho jen tehdy, když předstíráte, že to je HTML - hlavičkou Content-type a dodržením HTML compatibility guidelines (které, mimochodem, v XHTML 1.1 už nejsou).
Pro jistotu, protože vaše stránky opravdu mají v hlavičce DTD pro XHTML 1.1: kdybyste hledal příslušné specifikace, najdete je na http://www.w3.org/TR/xhtml-media-types/. To, že http://validator.w3.org/ vám uzná i dokument s chybnou hlavičkou, je hlášeno jako bug už minimálně od září, viz. http://lists.w3.org/Archives/Public/www-validator/2003Sep/0005.html
Pokud mas na mysli http://trific.ath.cx/ tak ackoliv kodu deklarujes XHTML1.1, tak se dle W3C o dokument XHTML1.1 nejedna - viz MIME typy http://www.w3.org/TR/xhtml-media-types/#summary
Nevim, jak v jinych prohlizecich, ale v Mozille to treba znamena, ze dokument nebude parsovan XML parserem (coz by XHTML1.1 jako pravy XML dokument byt mel), ale obycejnym HTML parserem. Otazkou pak je, proc XHTML1.1 dnes pouzivat. Tedy co nam prinasi dobreho? Me zatim pripada, ze sebou nese spise problemy (ve skrytu duse ale doufam, ze se to snad jednou vyresi :-).
Ono je z obecného hlediska težké rozhodnout, co by se mělo zobrazit. Vezměte si klasický případ z HTML, kdy na konci tabulky chybí </table>. IE předpokládá, že tabulka končí na konci dokumentu a vše vloží do tabulky. Ale patřilo vše skutečně do poslední buňky? Netscape a Mozilla považují </body> a </html> za nepovolené uvnitř tabulky a protože konec tabulky nebyl označen, nezobrazí z jejího obsahu ani písmenko.
Proc nemuze byt standardizovana i rekonstrukce xml dokumentu. Pokud se nezvoli striktni varianta (a nebude standardizovana rekonstrukce), tak si kazdy parser bude rekonstruovat dokument jak chce a zvnikne druhe html. Osobne se priklanim spise ke striktni variante s tim, ze by existovaly metody na rekonstrukci, ktere by ovsem programator musel vyvolat explicitne.