Autor Zpráva
Knopi
Profil
Možná hloupý dotaz, ale:

<?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" lang="cs">

<?xml version="1.0" encoding="utf-8"?> - tento prolog s kódováním UTF tam být nemusí podle specifikace a způsobí to, že MSIE 6 bude pracovat v quirku/nestandartně jako předešlé verze.

Jenže také vím, že msie 6 pracuje dost chybně také ve standartním módu a také se mi to potvrdilo a stránka se mi lehce rozhodí. Je to velký hřích nechat tam tento prolog, když tam vlastně býti nemusí?
habendorf
Profil
Hřích je ho tam nenechat.
Chamurappi
Profil
Byl by to hřích, kdyby tam být nesměl :-)
Můžeš tam dát komentář. Navíc při MIME typu „text/html“ je sám o sobě hřích používat XML syntaxi, neboť dokument zpracovává HTML parser.
Joker
Profil
Knopi
Sám jste si odpověděl: Být tam nemusí. Takže je Vaše věc, jestli ho tam dáte nebo ne.
Knopi
Profil
Ok, díky. Jen webyloňane Chamurappi! Já nejsem nějaký odborník, možná budu mluvit blbinky.

Navíc při MIME typu „text/html“ je sám o sobě hřích používat XML syntaxi, neboť dokument zpracovává HTML parser. Co je na tom špatného? On existuje XHTML parser? Pokud vím a učil jsem se snad dobře, tak takto to používají zkušení webdesigneři. Vím, že ty jsi zastánce HTML, ale to s tím nesouvisí...
Joker
Profil
Knopi
Co je na tom špatného?
Nic, jen Chamurappi nemá rád XHTML ;-)
Jinak můžete stránku v XHTML 1.0 posílat s typem text/html a bude to správně.
DJ Miky
Profil
Jinak můžete stránku v XHTML 1.0 posílat s typem text/html a bude to správně.

V XHTML 1.1 můžete také posílat text/html, avšak jen Internet Exploreru... (AFAIK)
Chamurappi
Profil
Reaguji na Knopiho:
Co je na tom špatného?
Spoléháš se na chybu v HTML parserech. Lomítko na konci prázdného elementu má totiž ukončovat značku. Zápisy „<br/>“ a „<br>>“ jsou ve skutečném HTML ekvivalentní. Správný HTML parser by měl zobrazit většítko. Máš štěstí, že takové parsery nejsou v rozšířených prohlížečích přítomny.

On existuje XHTML parser?
Existuje XML parser. Prohlížeče ho použijí při některém z XML MIME typů (pokud ho vůbec mají). Tím by se měli XHTML dokumenty načítat.

Pokud vím a učil jsem se snad dobře, tak takto to používají zkušení webdesigneři
Ano, učil ses dobře. Ale nemusíš kopírovat jejich chyby. Není to velký hřích. Ale hřích to je, přímo se spoléháš na hřešení prohlížečů.


Reaguji na Jokera:
Jinak můžete stránku v XHTML 1.0 posílat s typem text/html a bude to správně.
Poruší tím doporučení HTML 4.


Reaguji na DJ Mikyho:
To není pravda. Mezi XHTML 1.0 a 1.1 není v této věci žádný rozdíl, u obou dvou by správně měl být vždy použit MIME typ z rodiny XML.
Joker
Profil
Chamurappi
Lomítko na konci prázdného elementu má totiž ukončovat značku.
Není to čistě náhodou ten důvod, proč se doporučuje "Z důvodu zpětné kompatibility dávejte před lomítko ještě mezeru"?

Poruší tím doporučení HTML 4
...což mu může být úplně jedno, když nedělá stránku podle HTML 4 ;-)

Mezi XHTML 1.0 a 1.1 není v této věci žádný rozdíl
Je. Na rozdíl od XHTML 1.1 je XHTML 1.0 možné posílat i s MIME typem text/html
Timy
Profil
Joker
"Není to čistě náhodou ten důvod, proč se doporučuje "Z důvodu zpětné kompatibility dávejte před lomítko ještě mezeru"?"
Ne. Mezera se tam AFAIK dává kvůli tomu, že "některé" prohlížeče by bez ní ignorovali poslední atribut (nemám to odzkoušeno, někde jsem to četl). http://atd.havrlant.net/zkracene-html-zapisy

"Je. Na rozdíl od XHTML 1.1 je XHTML 1.0 možné posílat i s MIME typem text/html"
Klasická pověra. Nikdo mi nic nezakazuje ani nepovoluje. http://atd.havrlant.net/xhtml-11

"..což mu může být úplně jedno, když nedělá stránku podle HTML 4 ;-)"
Tak úplně jedno to není, protože sic děláš stránku podle XHTML, tak prohlížeč ji zpracovává jako HTML. http://atd.havrlant.net/proc-je-odesilani-xhtml-jako-texthtml-spatne (ale žádný prohlížeč stejně NET nezná, takže v konečném důsledku je to jedno)

(opravdu nejsem spamer :-))
Knopi
Profil
Chamurappi: V tom případě se ptám, jak by podle tebe měl vypadat správný zápis, když už se tedy bude jednat o xhtml dokument. Když ne takto:

<?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" lang="cs">

Bohužel pro tebe jsem věřitel v xhtml. Opravdu mi nemusíš psát, že jsi jiného názoru atd., o tom se tady vedly nekonečné boje. :-)
Joker
Profil
Knopi
No podle Chamurappiho kromě tohohle ještě má mít dokument XML MIME typ a ne text/html. Nicméně podle doporučení může mít i text/html.

Mimochodem, věřitel a věřící jsou dost různé věci ;-)
Timy
Profil
Knopi
Pokud je stránka v UTF, tak nemusíš <?xml version="1.0" encoding="utf-8"?> uvádět, tzn. takto:

<!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" lang="cs">
Chamurappi
Profil
Reaguji na Knopiho:
Správně by měl XML zápis být v XML dokumentech a HTML zápis v HTML dokumentech. Používáš-li MIME typ „text/html“, je to HTML dokument, o němž pojednává doporučení HTML 4.01. Specifikace XHTML 1.0 je mimo hru.

Bohužel pro tebe jsem věřící v xhtml.
Víš skutečně v co věříš? V tvém případě dost možná stačí vyhodit atribut xmlns, změnit <!doctype>, nahradit všechny konce prázdných elementů „/>“ za „>“ a budeš mít validní HTML 4. Jedině pak budeš v souladu se specifikacemi.

Opravdu mi nemusíš psát, že jsi jiného názoru atd.
Zajímal tě hřích, tedy zda neporušuješ specifikaci. Při „text/html“ není vynechání XML deklarace nikdy hřích, i kdyby XHTML 1.0 hrozilo umučením. Naopak používání XML syntaxe „<element/>“ hříchem je. Ač malým. Tak praví písmo svaté. Jsi věřící v XHTML, a proto hřešíš.
Timy
Profil
Chamurappi
Tuším, že i v text/html existují instrukce pro zpracování, ne? Tedy v podstatě to zase tak velký hřích není, podporující prohlížeč by to měl ignorovat (respektive se tím řídit).
Chamurappi
Profil
Reaguji na Timyho:
Ano, XML deklarace v HTML smí být, ale nemá tam svůj smysl. Nejde o zápis typický pro XML, o něm jsem nehovořil.

Reaguji na Knopiho:
Ještě jsem si uvědomil, že jsi od těch zkušených webdesignérů pochytil další zlozvyk: považuješ XML deklaraci za prolog. Podle XML terminologie je součástí prologu i <!doctype>. Ale to je jen takové hnidopíchání...
Joker
Profil
Chamurappi
Jedině pak budeš v souladu se specifikacemi.
A v současném stavu porušuje co?
Knopi
Profil
Timy:
Pokud je stránka v UTF, tak nemusíš <?xml version="1.0" encoding="utf-8"?>
Jojo. :-) Asi jsi nečetl začátek. Mám to tam, abych msie 6 poslal do quirku!

Chamurappi: Takže stručně řečeno. Správně je to zapsané pro dokument html. :-) Já ti to samozřejmě vyvracet nebudu, máš pravdu. Já, ale fandím novým výtvorům. Jako jednou upadl favorit, tak teď frčí Škoda Roomster. Myslím, že ani sám nemůžeš říct, jestli tvá karta na html opravdu vyhraje. To bude otázka ještě několika dlouhých let.

P.S. S tím prologem jsem to vyčetl od pana Petra Staníčka, snad mi to promine, že ho tu uvádím. Podle mě jistě ví o čem vypráví..., ale takový detail. To je jedno...
Joker
Profil
Ježiš, a bude z toho další debata XHTML vs HTML :-)

Já bych to asi uzavřel:
Podle specifikace striktního XHTML 1.0 musíte prolog uvádět. Vynechat ho můžete pouze u UTF kódování. Jestliže tedy Váš dokument je v UTF-8, můžete si vybrat jestli prolog uvést nebo neuvést. Obě možnosti jsou podle specifikace správné.

Používáš-li MIME typ „text/html“, je to HTML dokument, o němž pojednává doporučení HTML 4.01.
Tohle není pravda.
XHTML dokument může také používat MIME typ text/html, našel jsem tedy alespoň jeden dokument používající MIME typ text/html, který zároveň není HTML dokument, což je důkaz nepravdivosti implikace :-)

Dokonce i v RFC definujícím MIME typ "text/html" je napsáno, že ho mohou používat i XHTML dokumenty.
Knopi
Profil
Joker:
Ježiš, a bude z toho další debata XHTML vs HTML :-)
Já myslím, že je to zbytečné.

Děkuji všem za rady...
Chamurappi
Profil
Reaguji na Knopiho:
Myslím, že ani sám nemůžeš říct, jestli tvá karta na html opravdu vyhraje.
Jsem si na 95 % jist, že XHTML 1 neuspěje. Budoucnost neznám, ačkoliv mám jistý tip.

To bude otázka ještě několika dlouhých let.
Smím vědět tvůj odhad, za kolik let bude jasno?
Při úvahách o budoucnosti je vhodné se i zamyslet nad náročností „přechodu“ z jednoho jazyku na druhý. Třeba takový Pixy má náskok minimálně deset let před těmi, kdo se začnou učit XHTML až momentě, kdy to bude nevyhnutelné (jestli vůbec někdy). To dává smysl? Jak dlouho ses učil XHTML ty? Myslím jen XHTML, bez CSS.

S tím prologem jsem to vyčetl od pana Petra Staníčka, snad mi to promine, že ho tu uvádím.
To jsem tušil. Ale ani Staníček nezmění nic na tom, že vše, co je před kořenovým elementem, je prolog. Tedy ne jen XML deklarace.

Podle mě jistě ví o čem vypráví...
Většina stálých členů této diskuse rozumí oběma značkovacím jazykům mnohem lépe než on. Jeho znalosti XHTML jsou povrchní, spoustu základních principů nepochopil a za výhodu XHTML mylně považuje očištění od prezentačních elementů a atributů (sám jsi na jednu takovou chybu narazil). Diskusím se mnou se vyhýbá, protože prý mlaskám o strop, což je pochopitelné :-)
Knopi
Profil
Chamurappi: Pokud myslíš xhtml jako takové, tak jsem samozřejmě vycházel z html, což je stejné, ale v xhtml se musí samozřejmě vše uzavírat atd. Jak dlouho jsem se to učil? V podstatě jsem začátečník. :-) Webovým stránkám jsem se začal věnovat asi před osmi měsíci. Takže stále nemohu říct, že vše umím. V tomhle výjmečném řemeslu se člověk učí každý den do konce života. :-)

Diskusím se mnou se vyhýbá. No mluvit o někom, když o tom neví je podle mě neetické. Ale samozřejmě s tebou je to těžké. Ty máš na vše odpověď. Určitě s tebou v mnohé souhlasím. Ale jak jsem říkal, nejsem odborník a pro laika je těžké, co je správné či ne.

Smím vědět tvůj odhad, za kolik let bude jasno? Ta předchozí odpověď hovoří za vše. Je to holí typ. Myslím, tak 10 až 15 let.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0