Máte-li stránku s DTD označujícím ji jako XHTML, měl by být MIME typ této stránky: application/xhtml+xml (tato problematika je skvěle rozebrána u Timyho).
Jestliže však budete toto pravidlo dodržovat, může se stát, že se vaše stránky občas nezobrazí. Některé běžně používané webové prohlížeče totiž u takových stránek kontrolují, zda jsou well-formed a pokud nejsou, zobrazí chybové hlášení (a na stránku si můžete nechat zajít chuť).
Velký počet lidí z tohoto důvodu XHTML s tímto MIME typem vůbec nepoužívá a jsou spokojeni. Nemají sice opravdové XHTML stránky, ale v případě zapomenutí nějakého toho tagu se stránky alespoň nějak zobrazí.
Nedá se říci, že bych byl nějaký velký zastánce standardů, ale svůj poslední výtvor opravdu kóduji v XHTML se všemi náležitostmi (tedy i s application/xhtml+xml MIME typem). Až dnes jsem se ale prakticky setkal s nevýhodou této sestavy.

V odpoledních hodinách jsem měl prezentaci své semestrální (zní to lépe, než opravdový název) práce, která se týkala tvorby webu. Všechno běželo podle plánu, mluvil jsem a předváděl co všechno stránky umí, až hups... V milém Firefoxu se zobrazila chybová hláška, protože jsem zapomněl na uvozovky. Nezbylo mi tedy nic jiného, než se omluvit a vysvětlit, kde vznikla chyba (ale když se tak dívám zpět, zvažuji kolik lidí opravdu pochopilo, o čem jsem mluvil).
Nic hrozného se nestalo a svou práci jsem se zdarem odprezentoval. Uvědomil jsem si ale, že kdyby byl web v ostrém provozu, už bych se trochu styděl za špatně odvedenou práci. Velmi nerad bych byl příčinou návštěvníkových starostí, kdy se mu místo skvělé (jak jinak) stránky zobrazila jen jakási podivná chybová hláška.
Rozhodně nechci tvrdit že MIME typ application/xhtml+xml je špatný. Jen je dobré si velmi dobře rozmyslet jeho uplatnění. V některých případech může být velmi užitečný (například na stránce, kde si zobrazuji náhled psaného článku ve weblogu, tímto způsobem částečně ověřuji validitu), ale v ostatních případech může také vést k naprosté nepoužitelnosti stránek (pokud se uklepnete a zapomenete ten proklatý tag ukončit).
Související: Nepřístupné XHTML - Timy
Pro zajímavost: nová Opera v případě chyby nabídne "Reparse document as HTML".
Osobne by som privítal úplne nový metajazyk -- obsahoval by väčšinu vymožeností SGML, bol by rozšíriteľný (mechanizmy umožňujúce spájanie dvoch DTD atď...), mal by prijateľnú syntax pre parsery a to podstatné -- parsery by vytvorili strom dokumentu aj pri chybnom dokumente.
To je sen, však! :o)
Nechci být za rýpala, ale stydět by jste se měl i tak. ;o) Kontrola celého webu (prezentace) před spuštěním ve více prohlížečích je pomalu nepsaným pravidlem.
Rdm: Za rýpala jste opravdu oprávněně, měl jsem za to že jsem to kontroloval, ale...
...nebýt MIME typu, nic se nestalo :)
Už nějakou dobu svůj blog s tímhle MIME typem posílám (samozřejmě, že ne IE) a je pravda, že jsem měl pár problémů. Mám totiž základní kostru stránky - ta funguje vždycky. Zádrhel je u článků: tam když něco zapomenu uzavřít, je článek v p... prohlížeči ztracen a ozdoben chybovým hlášení. Proto občas sáhnu k serverovému řešení, i když to není (v mém případě) moc spolehlivé ;)
Jo, tohle je asi nejhorší chyba XHTML. Stačí, aby stránka z jakéhokoliv důvodu nedorazila ke klientu správně nebo aby nedejbože nastala chyba při přenosu souboru na server a prezentace firmy může být na několik hodin pro 30% uživatelů nedostupná. Pokud bych byl výrobcem prohlížeče, asi bych při nevalidním dokumentu s XHTML přepnul na HTML parser.
xergic: To je pak na čase začít používat Texy, ten ti nevalidní dokument ven nepustí. Tuším, že existuje nějaká možnost, jak ho používat i v ASP (ASP.NET?)
Hehehe ;]
Pokud dynamicky generujes stranky na serveru (treba v PHP), mel bys pouzivat cache pro snizeni zateze serveru a navyseni rychlosti odpovedi. Pokud pouzivas cache, neni slozite pred jejim vygenerovanim zkontrolovat validitu XML dokumentu.
V mych ocich je zavazna chyba poslat neplatny dokument. Kdyz poslu ze serveru obrazek s nesmyslnym kodem, nezobrazi se, pokud poslu poskozeny applet, take se nezpracuje, tak proc by mel byt dokument XML vyjimka? Takze, neni to chyba XHTML, XML, ani zadne jine specifikace, ale pouze lenost programatoru (coz neni nic neobvykleho).
Jozef Benko: XML bylo navrženo právě s ohledem na to, aby parserům usnadnilo práci. Oprava a zpracování chyb už byla vedlejší záležitost. Vychází to z dlouholetých zkušeností s původním HTML, kdy většina kódu parseru byla určena ke zpracování chybných dokumentů.
Parsery XML by tak, díky striktnosti, měly být jednodušší a přenositelnější i na méně výkonná zařízení (mobily, PocketPC, ledničky...).
Ano, člověk dělá chyby, takže striktnost XHTML můžeme vidět jako významnou nevýhodu. Jenže pro programy je to výrazné usnadnění. A vyberte si: je lepší dát si pozor na pár uvozovek, nebo psát miliony řádek kódu pro případ, že tam ty uvozovky nejsou?
Tak nějak si skromně tipnu, že je to i tvůj případ, totiž, kdybys to nepsal ručně, nikdy by se ti to nestalo. Rovněž by se ti to nestalo, kdybys ověřil validitu. Atd atd atd. SMD se taky nepájí obyčejnou páječkou a když, tak se nikdo nediví, že to jde sakra blbě.
[7] Programator by mel pocitat se vsema moznyma chybama.
Web neni jako ostatni weci (aplet, obrazek).
[8] To je moc hezke ze usnadnim praci zarizeni, ale me to vnicem nepomuze. Vypocetni sila lednicek je dostatecna na jakykoliv prohlizec mimo FF.
V tom případě mi uniká smysl používat XHTML, když ho nejste schopný správně vyprodukovat, proč nesáhnete po HTML? XHTML je tu hlavně kvůli snadnému strojovému čtení dokumentů, tak jak je však dnes navrženo je IMHO špatně. Pokud nepotřebujete vaše webové dokumenty číst strojově, není žádný důvod (krom módnosti) XHTML používat...
já všechny stránky píšu jako by byly xhtml tedy se zavřenými tagy a malými písmeny (tagy) a člověku to pak přejde do krve, takže se mu tohle nestává a kód navíc vypadá mnohem líp i na pohled
thingwath
"Tak nějak si skromně tipnu, že je to i tvůj případ, totiž, kdybys to nepsal ručně, nikdy by se ti to nestalo."
Ale stalo. Cožpak ty si ještě nikdy podobnou hlášku třeba u Hulána neviděl? Já ano. A pochybuji, že si svůj well.done píše ručně. Navíc (minimálně) jednou nebylo well-formed ani samotné konsorcium ;-). http://weblog.oflashi.net/images/hehe-w3c.png
xhtml mi přijde spíš jako taková módní vlna... ano je to fajn, je to krok kupředu, ale vede se okolo moc zbytečnejch debat...
Tak zkotrolovat není zas takový problém, nebo je?
Už teď taky posílám všude application/xhtml+xml, tedy pokud to zvládá prohlížeč, takže MSIE si vystačí s text/html :-).
Autorovi spotu i všem okolo komentujícím bych doporučil, aby se zamysleli, kde je doopravdy chyba. Je chyba v XHTML, že vyžaduje zasílání správné hlavičky, nebo v prohlížeči, že parsuje XHTML obecným parserem XML a navíc neposkytuje žádné rozumné uživatelské rozhraní? HTML je aplikací SGML, ale prohlížeč ho parsuje pomocí speciálního HTML parseru - proč soudobé prohlížeče XHTML, které je speciální aplikací XML, neparsují speciálním parserem XHTML? Nezaměňujte neschopnost či lenost programátorů prohlížečů s chybou specifikace či nedostatky standardu!
Plete si tady dvě věci - HTML a XML. Zatímco to první se parsuje jako plain text, tak to druhé je XML. Je to jako by jste říkal, že waw nemůžete otevřít v irfanu. To že mají většinu tagu stejných neznamná, že se jedná o stejné formáty ;)
[13] Zrovna u Hulána si dokážu představit celkem všechno. A docela bych i věřil, že třeba jednotlivé články si píše ručně.
[16] Pokud by každá aplikace XML měla mít vlastní speciální parser, tak žádné XML jako metajazyk mít nemusíme. To je kravina.
[18] Samozřejmě, že každá aplikace XML musí mít vlastní parser. Obecný parser XML může (v závislosti na své kvalitě) zajistit určitou základní úroveň zpracování jazyků odvozených od XML, ale nemůže zajistit všechny specifické potřeby. Nemůžete chtít, aby jeden program "uměl" pracovat se všemi značkovacími jazyky - aby rozuměl značkování zpravodajských exportů, geografických dat, biochemickému kódování, mapám počasí, knihovnickým anotacím a stovkám a tisícům dalších záležitostí. Ano, obecný parser XML můžete použít pro zpracování těchto informací, když nemáte po ruce nic lepšího, ale skutečný užitek z těch dat budete mít jen se specifickým parserem a odpovídajícím programem vybaveným specifickým uživatelským rozhraním. Oprostěte se od toho jednostranného webdesignérského pohledu a rozhlédněte se také okolo!
[19] Používám XML na spoustě místech (a poslední web jsem dělal před rokem), ale nikdy jsem si nepsal vlastní XML parser ve smyslu toho co poskytuje například projekt Expat (kterýžto používá pokud vím i Mozilla) nebo jemu podobné, protože fakt nevím co bych tím získal navíc než spoustu práce s implementováním něčeho, co už dávno mnohokrát existuje.
Nemám vůbec na mysli tu část aplikace která ty data následně prostřednictvím nějakého rozhraní (DOM, SAX...) zpracovává, ta už samozřejmě obecná být nemůže. Ale to v prohlížečích také ani není.
(Nechtely se mi cist predchozi prispevky).
Tohle je jen dalsi duvod proc pouzivat validni kod. Problem je teda u IE kde jsou s tim problemy. Ondra
Účelem Martyho weblogu je zaznamenávat zajímavé události a názory autora pro široké spektrum čtenářů, zejména z oblasti žonglování, webdesignu a SEO.
Copywriting – profesionální texty na web od zkušeného copywritera.
Copywriting – jak psát úspěšné obchodní texty.
Pascal tools - Upravovač zdrojových kódů programů vytvořených v jazyce Pascal.
Výčepní zařízení od Bahnik.cz
LinkBuilder.cz - registrace do katalogů
Úklid kanceláří od Úklidová služba ÚSVIT
Vybírejte stany s námi
Fenomén powerball na Powerbaly.info