Autor | Zpráva | ||
---|---|---|---|
Pajuc Profil * |
#1 · Zasláno: 3. 5. 2006, 13:48:54
Zdravím,
zajímalo by mě, co vlastně určuje, co je XHTML dokument a co HTML dokument. Možná to zní jako otázka na flamewar, ale ptám se ryze proto, že bych prostě rád nazýval věci pravými jmény a nebyl někde za lamu. Takže co je tedy určující? a)přípona souboru (dokumentu) Jelikož poslane hlavicky jen prohlizeci reknou, ze by mel ocekavat nejaky dokument a jaky, ale rozhodne mu neprikazuji, co snim ma udelat. Stale mu dorazí totozny (X)HTML soubor c)MIME type Pokiaľ pošlem svoj XHTML dokument ako text/html, označím ho za HTML dokument, nie? b)doctype a DTD "Já se také mohu označit za prsatou blondýnu, ale nic to nezmění na tom, že jsem fousatý chlapík." Pokud se označíte za prsatou blondýnu a všichni muži vás jako prsatou blondýnu budou brát, tak nejspíš jste prsatá blondýna. Je nepravděpodobné, že byste byl fousatý chlapík, když vás všichni vidí jako prsatou blondýnu. XHTML dokument posílaný jako text/html je spíše HTML dokument kompatibilní s XHTML dokumentem, než naopak. d)nic "Panove, tady o nic nejde. Tady jde jenom o to, kdyby nahodou o neco slo, abychom vedeli oc jde." Každý pán Odborník mluví jinak. Přesto ale jde o technickou záležitost. Mělo by tudíž existovat technické vysvětlení sakra a ne subjektivně interpretované relativismy. Každopádně jsem velmi zvědavý na odpovědi :) |
||
INSiGHT Profil |
#2 · Zasláno: 3. 5. 2006, 13:57:29
X, jako eXtensible, takže rozšiřitelný.
|
||
Radek Hrabůvka Profil |
#3 · Zasláno: 3. 5. 2006, 14:22:15
http://atd.havrlant.net/jak-na-dokonale-xhtml
http://atd.havrlant.net/proc-je-odesilani-xhtml-jako-texthtml-spatne http://atd.havrlant.net/jak-funguje-html XHTML dokument posílaný jako text/html je spíše HTML dokument kompatibilní s XHTML dokumentem, než naopak. Nevím co myslíš pod naopak, ale ten, o kom se nemluví posílá IE stránky s mime typem text/html, Gecku a Opeře jako application/xhtml+xml Pokud sjem to správně pochopil, na netu je důležitý MIME type, přípona může být jakákoliv. V počítači na disku je rozhodující přípona, htm, html -- xhtml. |
||
mata Profil |
#4 · Zasláno: 3. 5. 2006, 14:27:54
Radek Hrabůvka
ale u http://atd.havrlant.net/proc-je-odesilani-xhtml-jako-texthtml-spatne jsou příspěvky, které se tímto zabývají a závěr není až tak jednoznačný i když nakonec z toho všeho vyplynulo, že asi na netu je opravdu nejdůležitější MIME ;) |
||
Timy Profil |
#5 · Zasláno: 3. 5. 2006, 14:31:55
Radek Hrabůvka
"Pokud sjem to správně pochopil, na netu je důležitý MIME type, přípona může být jakákoliv." Ono je to spíš tak, že podle přípony server odešle požadovaný MIME. Takže server vidí .html => pošle to jako text/html. Server vidí .xhtml => pošle to jako application/xhtml+xml (prý někde ne, záleží na nastavení serveru). Samozřejmě si můžu určit, že třeba soubor s příponou .timy se odešle jako text/html. |
||
thingwath Profil |
#6 · Zasláno: 3. 5. 2006, 14:32:53 · Upravil/a: thingwath
Nuže technicky. RFC2616 říká, že:
To není nic moc. Co tedy v sekci 7.2.1?
No, to je sice všechno hezké, ale opět z toho plyne, že Content-type hlavička je něco, co bychom MĚLI zahrnout, abychom sdělili typ dokumentu klientovi. Pokud to neuděláme (ale jen tehdy) MŮŽE příjemce zkusit odhadnout typ na základě obsahu (tedy mohl by zkusit podle DTD, hlaviček a dalšího) nebo i přípony v URI (tedy může zkusit rozlišit podle toho, máme-li příponu .xhtml nebo .html, nebo...). Takže řekneme-li příjemci, že data jsou toho a toho typu, musí se k nim podle toho chovat, ať už si o tom myslí cokoliv. Ovšem to stále IMHO nic nemění na tom, že posíláme platný XHTML dokument a tedy XHTML. Pokud bychom to brali tak, že XHTML je stále jakási podmnožina mírně nevalidního HTML, tak bychom samozřejmě mohli říct, že je to HTML. |
||
Timy Profil |
#7 · Zasláno: 3. 5. 2006, 14:39:17
thingwath
"Ovšem to stále IMHO nic nemění na tom, že posíláme platný XHTML dokument a tedy XHTML." K tomuhle bych měl jednu otázku. Jak je to s různými XML nástroji? Zpracují platný XHTML dokument poslaný jako text/html? Neboli XHTML dokument to dle specifikace je, ale je to také XML dokument? |
||
jozob Profil |
#8 · Zasláno: 3. 5. 2006, 14:41:54 · Upravil/a: jozob
Timy má (ako vždy) pravdu.
Zobreme si napríklad server Apache. Náhľad do konfigurácie: AddType application/x-httpd-php .php Viac o direktíve AddType v konfigurácii serveru Apache: http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addtype |
||
thingwath Profil |
#9 · Zasláno: 3. 5. 2006, 14:42:33
Timy
No, ono, my tu řešíme dvě věci, které nejsou úplně to samé. Content-type a MIME typ jsou zde záležitostí HTTP protokolu, což není věc, kterou pro provozování XML nebo XHTML nebo i jen HTML nutně potřebujeme. Tady by záleželo na tom, jestli daný nástroj Content-type uvažuje... Bylo by asi logické, že ano, ale kde by něco takového bylo psáno, nebo kde by se taková problematika řešila, no, přiznám se, že nevím. |
||
Timy Profil |
#10 · Zasláno: 3. 5. 2006, 14:59:01
thingwath
tak já to trochu zobecním. Nikdy jsem žádný XML nástroj nepoužil a ani vlastně žádný neznám, proto se ptám - mám soubor stranka.html která je psána v XHTML. Mohu tento soubor tak jak je strčit do nějakého XML nástroje a normálně s ním pracovat? |
||
thingwath Profil |
#11 · Zasláno: 3. 5. 2006, 15:02:56
Sežere to parser? Je to well-formed? Pak ano, není důvod proč by s tím nějaký XML nástroj nemohl něco udělat. Je otázka co s tím chceš dělat a jaký nástroj to je :-)
|
||
Timy Profil |
#12 · Zasláno: 3. 5. 2006, 15:20:28 · Upravil/a: Timy
thingwath
No mně by třeba nepřišlo zvláštní, kdyby XML nástroj nedokázal zpracovat HTML stránku, byť by byla well-formed. Nebo snad XML nástroj zpracuje i obrázek (.jpg), pokud je well-formed? |
||
Jirka Kosek Profil * |
#13 · Zasláno: 3. 5. 2006, 15:32:30
Když to pragmaticky zjednoduším, viděl bych to takhle:
zajímalo by mě, co vlastně určuje, co je XHTML dokument Cokoliv, co je well-formed dokument XML, pokud to začíná elementem "html" v jmenném prostoru "http://www.w3.org/1999/xhtml" a co HTML dokument Cokoliv, co je validní oproti některému DTD pro HTML. |
||
nightfish Profil |
#14 · Zasláno: 3. 5. 2006, 15:38:42
Timy
XML nástroj je aplikace na zpracování XML a ne obrázků (JPEG) XML nástroj bez problémů zpracuje HTML stránku, je-li tato napsána v XHTML a je well-formed |
||
Timy Profil |
#15 · Zasláno: 3. 5. 2006, 15:43:30
nightfish
"XML nástroj bez problémů zpracuje HTML stránku, je-li tato napsána v XHTML a je well-formed" Tak to je jenom dobře :-) |
||
Timy Profil |
#16 · Zasláno: 3. 5. 2006, 18:48:33
Jirka Kosek
"Cokoliv, co je well-formed dokument XML, pokud to začíná elementem "html" v jmenném prostoru "http://www.w3.org/1999/xhtml"" Je tedy toto XHTML dokument nebo ne? |
||
Jirka Kosek Profil * |
#17 · Zasláno: 3. 5. 2006, 20:35:35
Timy
Viděno pragmaticky, tak to XHTML dokument je, ale není kompletní (chybí head, title a body), a jsou v něm použity elementy, které do XHTML nepatří. Ale díky jmennému prostoru, je jasné, že to je XHTML. To že je to špatné (nevalidní) XHTML, je druhá věc. Kdyby se člověk držel striktně blbě napsané specifikace XHTML, tak zjistí, že za XHTML nelze považovat ani dokumenty, které do XHTML místo dopravních značek vkládají SVG, MathML nebo VoiceXML. Bohužel W3C specifikaci XHTML zatím neopravilo, a nenabízí pro takové dokumenty ani validátor. |
||
djlj Profil |
#18 · Zasláno: 3. 5. 2006, 20:40:42
Jirka Kosek
Huh, to teda rozhodně není XHTML dokument. Dle mě nezáleží ani na DTD a validnosti, ale na poslané hlavičce... |
||
thingwath Profil |
#19 · Zasláno: 3. 5. 2006, 20:42:41
A kdbych ti ten dokument neposlal přes HTTP ale přinesl na mém flashi, co budeš dělat potom? :-)
|
||
Timy Profil |
#20 · Zasláno: 3. 5. 2006, 20:43:58
Jirka Kosek
Teď jsem neměl na mysli neexistující a naopak chybějící značky - je jasné, že to rozhodně není validní XHTML dokument, ale spíše jestli nějak vadí, že je to odesílané jako texťák. Podle té definice, kterou jste uvedl ("Cokoliv, co je well-formed dokument XML, pokud to začíná elementem "html" v jmenném prostoru "http://www.w3.org/1999/xhtml"") by totiž to XHTML dokument IMHO byl. Tedy je tento soubor, tak jak je - včetně poslaného MIME typu - XHTML dokument? |
||
Jirka Kosek Profil * |
#21 · Zasláno: 3. 5. 2006, 21:32:19
Timy
Jistě, že to je XHTML dokument. ;-) Zasílané HTTP hlavičky obsah souboru nezmění, slouží jen jako identifikace typu dokumentu, aby se vědělo, co s ním, aniž by se musel obsah souboru zkoumat. Jak jsem tu už někde psal, z toho že se prohlásíte za blondýnu, vám fousy neopadají. Myšlenka, že věci jako druh dokumentu nebo kódování se budou posílat bokem zasílaných dat, je sice správná, ale naráží na to, že je v praxi nepoužitelná. V HTTP s dokumentem můžete poslat spoustu metadat, ale co až soubor uložíte na disk? Většina souborových systémů vám neumožní u dokumentu uložit přídavná metadata jako content-type nebo encoding. To je také jeden z důvodů, proč XML narozdíl od HTML obsahuje přímo uvnitř sebe informaci o kódování, a proč se pro XML doporučuje používat MIME typy application/xml, a ne text/xml. Koneckonců ani specifikace XHTML neříká, že by se pro XHTML musel nějaký konkréktní MIME používat. Všechno jsou to jen doporučení typy, které je samozřejmě lepší používat než text/plain. |
||
Timy Profil |
#22 · Zasláno: 4. 5. 2006, 12:55:59
Jirka Kosek
Zase jsem podcenil Relaxed :-). Zkoušel jsem jenom starý známý validátor a ten to nezvládl zvalidovat. Tak to se to ale docela hezky zamotalo. XHTML poslané jako text/html je tedy co...? Z toho všeho mi vyplývá, že je to XHTML vyhovující dokument, ale stejně tak je to nevalidní HTML dokument. Mimochodem jak jinak než podle MIME by se takový prohlížeč měl rozhodovat, jak stránku vykreslí? |
||
Jirka Kosek Profil * |
#23 · Zasláno: 4. 5. 2006, 14:08:29
XHTML poslané jako text/html je tedy co...?
XHTML je pořád XHTML, ale MIME typ text/html prohlížeči říká, že ho má zpracovávat jako HTML. Což vzásadě nevadí, protože XHTML (které používá implicitní jmenný prostor) jde pomocí běžných parserů HTML (čti těch co jsou v prohlížečích) načíst zcela bez problémů. Z toho všeho mi vyplývá, že je to XHTML vyhovující dokument, ale stejně tak je to nevalidní HTML dokument. To platí obecně. Žádný XHTML dokument nemůže být validní HTML, například proto, že DTD pro HTML nedeklaruje atribut xmlns. Mimochodem jak jinak než podle MIME by se takový prohlížeč měl rozhodovat, jak stránku vykreslí? Třeba pomocí heuristického odhadu na základě analýzy začátku souboru. Takhle se chová například IE, většinou na MIME typ bohužel úplně kašle. |
||
Timy Profil |
#24 · Zasláno: 4. 5. 2006, 14:14:36
Jirka Kosek
"Třeba pomocí heuristického odhadu na základě analýzy začátku souboru." A jak by v tom případě rozeznal třeba txt dokument od html dokumentu? (viz výše uvedené příklady) |
||
mata Profil |
#25 · Zasláno: 4. 5. 2006, 14:40:04
Řekl bych, že IE právě na základě této analýzy usoudí že se jedná o HTML. Alespoň u mě IE zobrazí uvedený texťák jako webovou stránku.
|
||
jozob Profil |
#26 · Zasláno: 4. 5. 2006, 14:45:59
Jirka Kosek
"Takhle se chová například IE, většinou na MIME typ bohužel úplně kašle." Presne tak. Malý test: pridajte si na začiatok (X)HTML stránky generovanej PHP skriptom header: <?php header("Content-type: image/jpeg"); ?>Firefox sa pokúsi zobraziť obrázok, IE zobrazí stránku akoby sa nič niedialo. |
||
Pajuc Profil * |
#27 · Zasláno: 4. 5. 2006, 15:34:29
Pan Kosek myslím dostatečně přesvědčivě vše vysvětlil. Myslím, že mi to bude užitečné. Už kdysi jsem tuhle otázku diskutoval. U Dobrého webu jsem si udělal free audit své stránky. Výsledky auditu byly z více než poloviny chybné, a tak jsem jim v dobré víře poslal upozornění. Mj. jsem se pozastavoval i nad tím, že moje stránka napsaná v XHTML je označena jako HTML. V odpovědi mi ohledně toho bylo poukázáno na MIME typ. Proti tomu se mi těžko argumentovalo.
Takže nyní děkuji a pro závěrečné shrnutí bych zkusil vyextrahovat to, co mi přišlo podstatné: zajímalo by mě, co vlastně určuje, co je XHTML dokument Cokoliv, co je well-formed dokument XML, pokud to začíná elementem "html" v jmenném prostoru "http://www.w3.org/1999/xhtml" a co HTML dokument Cokoliv, co je validní oproti některému DTD pro HTML. Koneckonců ani specifikace XHTML neříká, že by se pro XHTML musel nějaký konkréktní MIME používat. Všechno jsou to jen doporučení typy, které je samozřejmě lepší používat než text/plain. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0