Autor Zpráva
Manitů
Profil *
Vytvořil jsem stránku, která je xhtml dokumentem. Všechno ukončeno jak má být atd. Otázky:

Se stránkou se v podstatě pracuje jako s html, takže jsem nemusel dělat změny. Jak ji mám poslat, aby s ní bylo zacházeno jako s xhtml? (application/xhtml+xml) Protože to msie neumí, tak to stejně budu posílat jako text/html. Kam se tohle vůbec píše?

Mimochodem stránku mám uloženou s koncovkou .php Mám v tom nějakej guláš. Může se pracovat se stránkou xhtml i s koncovkou .php? Nebo tam musí být vždy koncovka .xhtml :-( . Prosím poraďte popletenému Manitůovi. Díky moc předem.
Manitů
Profil *
Se stránkou se v podstatě pracuje jako s html, takže jsem nemusel dělat změny - To jsem napsal pěknou blbost. Myslel jsem tím to, že stránku mám xhtml, ale nakládá se s ní jako html.
Timy
Profil
Manitů
Můžeš poslat application jen těm prohlížečům, které to zvládají http://radekhulan.cz/item/uzitecne-funkce-pro-php-dil-1/category/apach e-php Koncovka není důležitá, prostě přes header pošleš požadovaný mime (viz hulán).

Ale obecně nevidím důvod k tomu to provádět. Buď poslat application všem nebo nikomu.
Bubák
Profil
Koncovka na webu může být libovolná. Na nastavení serveru záleží, jaký pošle prohlížeči mime type.
Timy
Profil
A mimochodem k tématu také... http://www.webylon.info/K.32
Manitů
Profil *
Díky kluci, jen já vůbec netušil, že se mime type posílá phpéčkem. Já jsem myslel xml. Takhle to děláte všicí? Že to php odešlete hlavičku se správným mime typem? To se mi teda na xhtml nelíbí, to je naprosto nelogický a složitý. Jinak opravdu pokud chci aby se s mou stránkou pracovalo jako s xhtml, tak to jinak nejde? Děláte to tak i vy? Díky
Dero
Profil
Díky kluci, jen já vůbec netušil, že se mime type posílá phpéčkem.

Výchozí MIME typ, který posílá server, lze pomocí PHP (či jiného server-side jazyka) změnit.

Takhle to děláte všicí?

Většina z nás nikdy v praxi pro XHTML nikdy nepoužila jiný MIME typ než text/html. Někteří z nás dokonce v praxi nikdy nepoužili syntaxi XHTML, měli-li na výběr.

Jinak opravdu pokud chci aby se s mou stránkou pracovalo jako s xhtml, tak to jinak nejde?

Záleží na nastavení serveru. Ten může bát nastaven například nato, aby všechny stránky s příponou .html posílal s MIME typem application/xhtml+xml.
Manitů
Profil *
Dero:
Většina z nás nikdy v praxi pro XHTML nikdy nepoužila jiný MIME typ než text/html. Někteří z nás dokonce v praxi nikdy nepoužili syntaxi XHTML, měli-li na výběr.


Například u tebe http://dero.name/ , máš xhtml. Odesíláš MIME TYP? Nebo se nic nestane, když nebudu posílat nic. Takže by se mělo odeslat automaticky text/html. Promiň mi ten určitě trapnej dotaz, ale pro mě ač jsem toho přečetl dost je to stále nepochopitelné.
Dero
Profil
Například u tebe http://dero.name/ , máš xhtml.

Mám tam dokument se syntaxí XHTML, odkazuji na DTD popisující XHTML a posílám MIME typ text/html. Zde na diskusi probíhají vášnivé debaty, co vlastně tato kombinace znamená. Nemůžeme se dohodnout, zdali jde o zmršené HTML4 nebo o kompatibilní XHTML. Mně osobně to nezajímá, nová verze webu, kterou připravuji, již bude v HTML4 a syntaxi XHTML budu nadále používat pouze v komerčních projektech, ve kterých zadavatel toto požaduje.

Odesíláš MIME TYP?

Nechávám to na serveru a ten správně posílá text/html.

Nebo se nic nestane, když nebudu posílat nic.

Viz výše, budeš pak mít něco neurčitého a beztvarého. MIME typ je taková vyšší instance, která tu s námi už je velmi dlouhou dobu. Déle než XHTML, troufám si dokonce říct, že MIME typy XHTML bez problémů přežijí. Pokud pošleš MIME typ text/html, říkáš cílovému zařízení: "Hele, koukni, tady Ti posílám HTML stránku." Cílové zařízení zajásá a spustí HTML parser. Je otázkou, jestli konsorcium může přijít, napsat informativní dodatek C, říct, že XHTML je XHTML i v případě, že ho server či autor prohlašuje za text/html. Každopádně je jistá jedna věc - pokud posíláš XHTML s MIME typem text/html, spoleháš se na nedokonalost současných HTML parserů, které "zbaští" různé XHTML konstrukce, které v HTML znamenají něco úplně jiného. A ano, tyto současné parsery se nechají nachytat, ku škodě věci.

Krátce řečeno, pokud pošleš text/html, pak si cílová zařízení takový dokument stejně rozeberou jako HTML. Musíš sám zvážit, jestli pro Tebe má X(HT)ML syntaxe má i nějaký praktický význam. Třeba můžeš chtít nějakými nástroji pro zpracovávání XML své stránky převádět do jiných formátů. Potom je prima, že můžeš mít plně funkční HTML stránku s XML syntaxí - tzv. XHTML - a že ji můžeš prohlížečům posílat jako text/html a tím se vyhnout problémům se striktními parsery, nekompatibilitou a podobným věcem. To je praktické využití. V opačném případě, tedy pokud píšeš stránku jen pro prohlížeč a pro svého návštěvníka, pokud nečekáš nějaké strojové zpracování či transformace, je XHTML jen zbytečně zmršené HTML.

Takže by se mělo odeslat automaticky text/html.

Jak jsem již psal, většina serverů je nastavena tak, že text/html posílá pro stránky .html, .htm, .php, .php4, .php5, .phtml a mnohé další. Některé jsou pak nastaveny i tak, že při .xhtml posílají application/xhtml+xml. Není pro to však žádný úzus či zásah nějaké mocnosti - každý administrátor může toto nastavení změnit.

Promiň mi ten určitě trapnej dotaz, ale pro mě ač jsem toho přečetl dost je to stále nepochopitelné.

Téma, které jsi nakousl, je velice komplexní - a z praktického hlediska nepříliš důležité. Na tomto fóru narazíš na mnoho expertů na značkovací jazyky a každý z nich má svůj názor, který je tu mírně, tu radikálně odlišný od názorů ostatních. Už jen fakt, že se nejlepší odborníci nemohou na této věci shodnout, svědčí o tom, že v této otázce existuje několiv úrovní a několik pravd.
Manitů
Profil *
1. Jak zjistím, že server odesílá mime type text/html?
2. Takže, když je většina serverů nastavena, tak že posílají text/html pro stránky...., není proto žádný úzus - každý administrátor může toto nastavení změnit. No a teď jsem v Prčicích - takže ty si zjistíš co server posílá, a pak reaguješ, nebo vždy posíláš mime typ, aby když to náhodou změní administrátor, tak ti to bude stále fungovat a nezmění se ti to? Nebo záleží na Doctype? Já v tom mám stále hokej.

Tak takhle mám zapsán začátek dokumentu xhtml - jak pošlu ten správný mime typ? Aniž by mi ho admin změnil...

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...

Děkuji za trpělivost...
Dero
Profil
1. Jak zjistím, že server odesílá mime type text/html?

Můžeš například použít nějaké rozšíření prohlížeče. Já mám ve Firefoxu nainstalovánu pomůcku jménem LiveHTTPHeaders, stačí zagooglit. Není to však potřeba protože...

2. Takže, když je většina serverů nastavena, tak že posílají text/html pro stránky...., není proto žádný úzus - každý administrátor může toto nastavení změnit.

... žádný příčetný administrátor nikdy nezmění posílání MIME typu text/html pro přípony, které jsem vyjmenoval. Pokud se týče MIME typu application/xhtml+xml, tam už takovou jistotu mít nemůžeš a musíš proto výchozí nastavení serveru, pokud nejsi jeho administrátorem, přebít nějakým silnějším trumfem. Například pomocí PHP funkce header či direktiv v souboru .htaccess. Obojí si můžeš dohledat na příslušná klíčová slova.

No a teď jsem v Prčicích - takže ty si zjistíš co server posílá, a pak reaguješ, nebo vždy posíláš mime typ, aby když to náhodou změní administrátor, tak ti to bude stále fungovat a nezmění se ti to?

Ne, to si nezjišťuji. Já používám jen text/html, na jehož posílání se mohu spolehnout z důvodů, které jsem vyjmenoval výše. Kdybych chtěl použít application/xhtml+xml, tak si také nic nezjišťuji a rovnou si příslušnou direktivu v PHP či .htaccess napíši.

Nebo záleží na Doctype?

DOCTYPE je zcela irelevantní a o skutečném typu dokumentu nic neříká.

Tak takhle mám zapsán začátek dokumentu xhtml - jak pošlu ten správný mime typ? Aniž by mi ho admin změnil...

Například v PHP stačí přidat na začátek dokumentu tohle: header ("Content-type: application/xhtml+xml; charset=utf-8");

Takovou stránku pak server pošle vždy s MIME typem application/xhtml+xml. Uvědom si, že XHTML ani HTML není nijak závislé na příponě souboru. Pokud například řeknu serveru, aby soubory s příponou .dero posílal s MIME typem text/html, tak je prohlížeč přijme a bez problému zobrazí.
Manitů
Profil *
Dero: Díky moc, už to dokonce chápu. :-) Jen poslední pro jistotu. Takže se vůbec nic nestane, když napíši do xhtml dokumentu:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...

A stránka se bude posílat s mime typem text/html pokud v php, nebo v souboru .htaccess neuvedu jinak. Ty to tedy děláš v podstatě na dero.name také takto. Ale se stránkou se nebude pracovat jako s xhtml dokumentem. Kdybych tedy chtěl, aby se se stránkou pracovalo jako s xhtml, tak do php, nebo .htaccess uvedu hlavičku jak jsi vypsal. Chápu to dobře? Radši se ještě ujišťuji, protože evidentně nejsem talent. :-)
Joker
Profil
Manitů
Akorát s MIME application/xml+xhtml bych pro jistotu změnil i tu metaznačku:
<meta http-equiv="Content-Type" content="application/xml+xhtml; charset=utf-8" />

Sice nevím jestli je to k něčemu dobré, ale stejně bych to tak dal :)
Mimochodem, ten atribut http-equiv znamená "ekvivalentní HTTP hlavičce"... tak bych tak nějak očekával, že to bude ekvivalentní HTTP hlavičce, tj. že se tím taky něco bude řídit. No ale nevypadá to tak :)
llook
Profil
Sice nevím jestli je to k něčemu dobré, ale stejně bych to tak dal :)
Takový rady jsou nad zlato. :-)
Timy
Profil
Joker
No tak což o to, kódování si odtamtud prohlížeč bere (při text/html), ale MIME typ je tam zbytečný, protože prohlížeč se musí rozhodnout jak stránku vykreslit dřív než až při přečtení nějakého meta tagu.
Chamurappi
Profil
Reaguji na Manitů:
Doporučuji nepoužívat XHTML. Čistě pro případ, že ti to tvůj lokální XHTML guru zamlčel:
1) XHTML nemá širší podporu než HTML ani mezi běžnými prohlížeči, ani v mobilních zařízeních.
2) XHTML obsahuje přesně stejné elementy jako HTML (včetně <font> apod.), takže sémanticky čistší není.
3) XHTML při MIME typu „text/html“ spoléhá na chyby v HTML prohlížečích (jak naznačoval Dero), nejde o lepší soulad s pravidly.

Reaguji na Jokera:
Podle té tvé metaznačky identifikuji lidi, kteří XHTML vůbec nepochopili. Je to nejtypičtější omyl začátečníků.
V XHTML nemá http-equiv="content-type" smysl, neboť sémantiku <meta> elementu pochopí XML procesor až po rozebírání tohoto elementu a v té době již musí znát kódování, pro případ, že by názvy elementů obsahovaly neobvyklé znaky.
thingwath
Profil
A co tak neposílat MIME žádné?
Dmagician
Profil
chamurapi
1) XHTML nemá širší podporu než HTML ani mezi běžnými prohlížeči, ani v mobilních zařízeních.

-keby takto uvazovala vacsina, tak by sme si nepustali CDcka ale platne.. nahravali by sme na kotucaky a na prehravanie videa by sme pouzivali laserdisky. Nastastie je to mensinovy a tym padom na zanik odsudeny nazor.

2) XHTML obsahuje přesně stejné elementy jako HTML (včetně <font> apod.), takže sémanticky čistší není.

- este stastie ze aj 1.0 transitional je XTHML.. inac by si hadam nemal ani o com pisat ;-)

3) XHTML při MIME typu „text/html“ spoléhá na chyby v HTML prohlížečích (jak naznačoval Dero), nejde o lepší soulad s pravidly.

- preto sa aj odporuca posielat so spravnym MIME, tym padom clovek overi v prehliadacoch ktore na to maju mechanizmy, ze ci ten dokument je vobec v "souladu s pravidly"

inak ale ani ja neodporucam pouzivat XHTML, pretoze HTML bez problemov prehrate na seckych gramafonoch... aj na starych aj na novych.. a zvuk je taky zivsi, bohatsi a prirodzenejsi.. ;-)))
Bubák
Profil
keby takto uvazovala vacsina, tak by sme si nepustali CDcka ale platne
CD nabídla menší nosič a vyšší kvalitu zvuku. XHTML nabízí problémy.

nahravali by sme na kotucaky
CC nabídly kapesní nosič a pohodlnou manipulaci. XHTML nabízí problémy.

laserdisky
Slepá, překonaná cesta, nabídla problémy, podobně jako XHTML.

Přirovnání k výtahům, gramofonům... je úsměvné.
Joker
Profil
Chamurappi
Podle té tvé metaznačky identifikuji lidi, kteří XHTML vůbec nepochopili.
To není moje metaznačka, se mnou nemá nic společného :o)))
Ale budiž, tak tam ta značka vůbec nemusí být, no... splést se může každý.

XHTML při MIME typu „text/html“ spoléhá na chyby v HTML prohlížečích
No a nezastáváte názor, že "správně" je implementace? :) Pak v ní ale žádné chyby nemohou být :)
Každopádně takhle to přece funguje celou dobu... vydá se norma, prohlížeče ji nějak implementují a další verze normy pak zohledňuje tu implementaci. Anebo o krok posunuté: Prohlížeč něco implementuje, pak z toho vznikne norma a další verze prohlížeče (obvykle) zohledňuje existenci té normy.
Myslím, že je to normální evoluce... novější norma vzala v úvahu implementaci starší normy v prohlížečích a novější prohlížeče by zase měly brát v úvahu existenci novější normy.
Chamurappi
Profil
Prosím, nehádejme se tu o podrobnostech, nebo Manitůovi praskne hlava.


Reaguji na thingwatha:
To bych považoval za ještě nebezpečnější, než je samo XHTML. Krom toho dokument užívající XHTML většinou splňuje všechny základní předpoklady popsané v páté kapitole RFC 2854, takže není chyba, pošle-li na dokument HTML parser.


Reaguji na Dmagiciana:
Zopakoval jsem jen rutinní vyvracení oblíbených mýtů, pro případ, že by byl Manitů nakažen. Nemusíš na mě hned chrlit lávu.

keby takto uvazovala vacsina, tak by sme si nepustali CDcka ale platne
Můžu ti vymyslet protianalogii nebo se šťourat v té tvé, ale to by nikam nevedlo. Každá analogie smrdí.

Nastastie je to mensinovy a tym padom na zanik odsudeny nazor.
Já to neprezentoval jako názor, nýbrž jako fakt oponující rozšířenému omylu, že má XHTML lepší podporu než HTML.

este stastie ze aj 1.0 transitional je XHTML
A že 4.0 Strict je HTML. XHTML je jen reformulace, nic víc. Co zavržené bylo, zavržené je.

tym padom clovek overi v prehliadacoch ktore na to maju mechanizmy, ze ci ten dokument je vobec v "souladu s pravidly"
Jen tehdy, mají-li dotyčné prohlížeče bezchybné XML procesory. Ty dnešní chyby mají.


Reaguji na Jokera:
Starší „norma“ je v tomto případě ale stále platná. Má-li ji nová nahradit, měla by jít ta stará do šrotu. Nešla. Platí stále a prohlížeče ji mají respektovat nehledě na to, co říká jakási její mladší kolegyně.
thingwath
Profil
Chamurappi
Čím v tom tvém článku hodláš doložit, že prohlížeč musí na ne well-formed dokumentu selhat?
Dmagician
Profil
Bubák Chamurapi ma v jednom pravdu, neoplati sa sturat v analogiach. Ja si za svojimi stojim a dokazal by som si ich voci tvojej "roztrojke" zasa obhajit a donekonecna by sme sa motali v kruhu. ;-) Naviac pri tom papagajovani "xhtml nabizi problemy" len prizivujes moje pochybnosti o tom ci su tvoje nazory skutocne zalozene na zlozitych vnutornych dilemach a hlbokych rozumovych uvahach alebo su len dosledkom snahy niekam patrit.

Chamurappi
„tym padom clovek overi v prehliadacoch ktore na to maju mechanizmy, ze ci ten dokument je vobec v "souladu s pravidly"“
Jen tehdy, mají-li dotyčné prohlížeče bezchybné XML procesory. Ty dnešní chyby mají.


Ocenujem tvoju snahu zaoberať sa do detailu každou ňuansou tejto problematiky a produkovať članky z ktorých sa nám neveriacim točí hlava. Niekde som už raz spomínal že by ťa mali zverbovať na opačnú stranu tábora. Sú to také výstrely do tmy. Tuná to vo väščine prípadov vyvolá iba pokrčenie ramenami. (čo sa práve aj stalo (a hned za tym ma ten jeden z nich trafil akurat do čela.. budem si musiet overit nakolko fatalne to nazoaj je))
Toto téma je uzamčeno. Odpověď nelze zaslat.