2006-08-11 20:46 napsal Lukáš Havrlant
Milé děti, XHTML 1.1 je v současnosti nepoužitelné, protože konsorcium neumožňuje posílat tyto stránky jako text/html ale musíme naopak použít jeden z MIME typů, určených pro XHTML. Pošlete-li XHTML 1.1 stránku jako text/html, sežere vás vlk.
Určitě už jste tuto pohádku někde četli, nevykládejte, že ne. Není to tak dávno, co jsem tuto báchorku začal řešit na mém oblíbeném Intervalu (a ještě v podstatě na dalších dvou diskusích) a vybídl jsem, ať mi někdo odkáže nějakou tu specifikaci, kde by bylo psáno a dáno, že XHTML 1.1 nesmí být odesíláno jako text/html. A ono ejhle (omlouvám se těm, kteří souběžně čtou mou starší blog, ve kterém jsem použil stejný obrat), odkaz nikde. Takže jsem musel zase odkazovat já.
Znám v zásadě dvě místa, která tvrdí, že text/html je nepřípustné. Je to tuta stránka, ve které tedy zjistíme, že bychom opravdu MIME typ text/html pro XHTML 1.1 používat neměli. Bohužel však tato stránka není žádná norma ani specifikace či něco podobného, je to pouze jakási poznámka – dobrá rada, kterou se můžeme, ale nemusíme řídt.
Druhá zásadní stránka je pak FAQ, kde se tvrdí, že XHTML 1.1 je již čisté XML a musí tudíž být takto i odesíláno. Bohužel jsem nepřišel na to, o kterou normu se tedy tato FAQ opírá. Není asi třeba dodávat, že ani tato stránka není žádná specifikace či norma, kterou bychom museli dodržovat.
Je možné, že jsem nějakou tu specifikaci či normu přehlédl, klidně odkažte.
Takže co tedy musíme splnit, abychom měli právoplatnou XHTML 1.1 stránku? No, v podstatě je to stejné jako minule – stačí splnit těchto pár maličkostí a je vymalováno, máte striktně shodný XHTML 1.1 dokument. Píše se něco v těchto maličkostech o použitém MIME typu? Nepíše.
A chudák vlk teď nebude mít co žrát.
Toto mi už dlhší čas vŕtalo v hlave, no nedostal som sa k bližšiemu preskúmaniu.
Pekne napísané.
Máš samozřejmě pravdu.
Já třeba posílám MIME typ application/xhtml+xml prohlížečům, které je přijmou, tedy třeba Internet Exploreru posílám text/html.
Na druhou stranu si myslím, že je to celkem jedno – když se u XHTML dokumentu odesílá MIME typ text/html tak to totiž:
1, neodporuje normě 2, se stejně Internet Exploreru bude muset poslat 3, ostatní moderní prohlížeče dokument zobrazí správně (aspoň si to myslím – vycházím ze současného stavu)
Závěr? Podle mě je to celkem jedno.
Ktovie, či bude mať zmysel používať XHTML vôbec. V určitých špecifických prípadoch vidím využitie, ale masovo na webe vôbec.
Spájanie značkovacích jazykov dokopy mi nepripadá ako najlepšie riešenie. Skôr by som si vedel predstaviť rozšíriteľnosť pomocou elementu OBJECT. To je určite prístupnejšia metóda ako menné priestory.
Ona je rada situaci i mimo tvorbu webu, kde jsou veci definovane jaksi mimochodem v necem co neni normou, ale obskurni zalezitosti. Napriklad nikde ve vyhlaskach a zakonech o silnicnim provozu ani dopravnich znackach neni definovane jaky je vyznam stredove dvojite plne cary (u jednoduche to definovane je). Jedine misto, kde se to resi, byly (jsou? :-) testovaci otazky pro autoskoly, ale to neni norma, ze… Leo
Trochu OT: Stejně si myslím, že XHTML má jednu obrovskou nevýhodu, pokud totiž dokument nebude well-formed a vy zrovna budete na dovolené nebo nebudete mít přístup k netu, dostanete parse error, a všichni zákazníci se mohou jít klouzat.
Tohle se mi na XML nelíbí.
PS: A ten parse error může způsobit i prkotina, neukončený tag nebo něco podobného (jestli se pletu, opravte mě).
Neukončený tag nebo něco podobného rozhodně není prkotina. Pokud nedokážete vyprodukovat wellformed dokument, nevidím důvod psát XML a výstupní chyby zlehčovat. XML je tu odtoho, aby bylo striktní a požadovalo od obou komunikujících stran naprostou shodu (tj. přijde mi to, co očekávám).
Pakliže se spokojíte s tím, že chybovat je lidské, je na čase svěřit produkci XML dokumentů (XHTML není výjimkou) stroji, který se drží pravidel a pravděpodobnost výskytu chyby je nulová.
Čo sa týka XML parserov, všetko mi príde divné. Ak dorazí dokument, ktorý nie je WF, dostanem error. Prečo je to nutné, ak je možné prúdové čítanie XML pomocou SAX API alebo podobných metód? Ak je možné domýšľať značky počas čítania, je nutné vyhodiť error? Tiež nerozumiem, ako je možné zistiť, že dokument nespĺňa WF, pokiaľ sú pri čítaní domýšľané značky? To sa kontroluje WF dodatočne a aj keď by bol parser teoreticky schopný vypľuť hotový strom, vyhodí error?
Všetko sa mi to zdá divné a nikde nenachádzam odpovede.
Já bych se taktéž přihlásil k názoru, že je to podružné. Počkejme si, až to bude správně podporovat IE. Má smysl řešit věci, které mají nějaký širší dopad, život je krátký.
Tak jsem přelouskal všechny odkazované materiály, ale nenašel jsem odpověď na dvě zásadní otázky:
Mám xhtml dokument (obsahem) podle specifikace, kódování UTF
A taky by mě zajímalo, co se může stát, kdyby to prohlížeč zpracovával jako HTML?
Díky fšem.. :)
Šaman
Vida, konečně zase jeden komentář k tématu :o).
jakou má mít příponu? (řekl bych, že je to jedno, ale jistě to nevím. Já používám .html)
Přípona není důležitá, protože podle přípony se pouze server rozhoduje, s jakým MIME typem stránku pošle.
s jakým MIME se má posílat?
Tak je to jedno, ale jestli chceš, ať si ty stránky někdo prohlédne, doporučuji text/html.
A taky by mě zajímalo, co se může stát, kdyby to prohlížeč zpracovával jako HTML?
Když to pošleš jako text/html, tak se stránka zpracovává jako HTML. Nemůže se stát nic, dokud nebudeš používat XHTML validní konstrukce typu <a href=„priklad.html“ /> a další věci, které v text/html fungovat nemůžou.
Osobně jsem se na to vždy vykašlal a čekal co bude fungovat. Sám vždy používám HTML (na co si kazit život lomítkami navíc) nebo přímo XML (proč jít mezi?). A nehodlám na tom nic měnit. XSL stačí dostatečně, nebo použiji HTML, a pak mám s těmito MIME typy pokoj.
ad Leo: Napriklad nikde ve vyhlaskach a zakonech o silnicnim provozu ani dopravnich znackach neni definovane jaky je vyznam stredove dvojite plne cary (u jednoduche to definovane je).
Aha, tak konecne chapu, kde se bere to presvedceni nekterych ridicu, ze se ty dve plne cary navzajen vyrusi a muzou si pres ne vesele predjizdet.
ad Leo: Napriklad nikde ve vyhlaskach a zakonech o silnicnim provozu ani dopravnich znackach neni definovane jaky je vyznam stredove dvojite plne cary (u jednoduche to definovane je).
Bohuzel v tomto pripade se spoleha na logiku, kterou zrejme hodne lidi postrada. Jestlize se pres pres jednu plnou caru nesmi prejizdet, tak logicky pres dve plne cary uz tuplem ne, velice laicky receno. Signalizuje take, ze ani z jednoho smeru se nemuze predjizdet (opak jedne prerusovane a jedne plne…). Konec OT :)
3. JPAS.:
nezbývá mi než souhlasi, kvůli IE již delší dobu odesílam jako text/html a v žádnem prohlížeči není sebemenší problém, nevím jak to chce microsoft řešit (asi ňják jako vždy) ovšem je třeba to ňják vykutit, protože není možné aby jsme se podřídili normám a přitom stratili návštěvníky (uživatele IE, kteří by se na naši www nedostali)…
ať pánové a dámy z W3C a hlavně z microsoftu zamakaj ať jede všechno jak má…
Komentáře jsou uzavřeny