Autor Zpráva
POKI
Profil *
Ahoj. Tento doctype je myslim najlepsi. NA vsetkych prehliadacoch je Standard mode aj v IE 6. Len nechapem co je to xml prolog, lebo je uvedene ze je to pouzitelne bez toho. DIk.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Chamurappi
Profil
Reaguji na POKIho:
XML prolog se skládá z XML deklarace (<?xml version="1.0" […] ?>) a <!DOCTYPE> deklarace. Když ho v HTML zcela vynecháš, pojedeš zaručeně v quirku.

Pokud používáš MIME typ „text/html“ (což je pravděpodobné), tak používáš HTML, nikoliv XHTML, nehledě na <!doctype>. Pak prohlížeče XML deklaraci ignorují (neberou z ní informaci kódování) a považují syntaktické obezličky XML za syntaktické chyby (které též ignorují). Validátoru musí XHTML <!doctype> uvnitř HTML stránky vadit.
POKI
Profil *
Chamurappi

Jo a pocuj, niekde som cital ze ked pouzivam na stranke UTF -8 tak nemusim pisat (<?xml version="1.0" […] ?>)...


Ono ked pouzijem

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

..tak stranka bude v XHTMl, ale bude komunikovat cez text/html parser nie? Pocuj, potom co odporucas? Ako postupovat a ako pisat spravne stranky dik. Vidim ze sa viznas, tak si dam poradit.
Chamurappi
Profil
Reaguji na POKIho:
niekde som cital ze ked pouzivam na stranke UTF-8 tak nemusim pisat
To by platilo, kdybys používal XML (resp. XHTML). Jinak je to jen teoretický blábol. Při „text/html“ se tou deklarací skutečně žádný prohlížeč neřídí (a nemá řídit).

Ono ked pouzijem […] ..tak stranka bude v XHTML
Nemusí být. Záleží na MIME typu.

Pocuj, potom co odporucas?
Jestli chceš standardní režim, tak buď <!doctype html>, nebo <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">.
Jestli chceš quirk, tak buď můžeš <!doctype> vynechat, nebo použít <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">.

Ako postupovat a ako pisat spravne stranky dik.
Slovo „správně“ lze chápat všelijak. Správné je, pokud stránka funguje všem správně :-)
imploder
Profil
Mám dotaz: jak vlastně je možné používat XHTML když <?xml> deklarace shodí IE do quirku (což samozřejmě nechci)? Kdysi jsem to zkoumal a zjistil jsem, že bez servírování alternativní (podle standardů nesprávné) pro IE6 to asi nejde. Teda pokud si dobře pamatuju. Použil jsem na to tohle:
<? if(!(EReg("MSIE", $_SERVER['HTTP_USER_AGENT'])&&(!EReg("Opera", $_SERVER['HTTP_USER_AGENT'])))) echo "<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

To je web, který na internet nikdy nešel a možná ani nepůjde. V jiné svojí (novější) stránce generátoru slov (http://bprhad.wz.cz/awkwords/) jsem se na to (nevím proč) vykašlal a rovnou tam dávám <? echo "<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n"; ?> bez rozlišování prohlížečů. Možná se to v IE6 projeví, nezkoušel jsem to.

Můj dotaz tedy je: změnilo se něco? Je už možné psát stránky v XHTML bez skriptů tak, aby se to všude zobrazovalo ve standardním módu?
Chamurappi
Profil
Reaguji na implodera:
Když už lepíš svůj dotaz do nesouvisejícího vlákna, mohl by sis alespoň přečíst předchozí příspěvky.

bez servírování alternativní (podle standardů nesprávné)
1) Vynechání XML deklarace je dovolené.
2) Užíváš-li MIME typ „text/html“ (což je velmi pravděpodobné), tak se žádný prohlížeč XML deklarací neřídí. Přehlíží ji, nezajímá je, berou ji víceméně jako komentář — a to je správné chování.
3) Z jakého důvodu se vlastně snažíš dodržovat standardy?

Můj dotaz tedy je: změnilo se něco?
V XHTML 1.1 už bude nepovinný <!doctype> a konsorcium oficiálně dovolí užívat ho s typem „text/html“ ignorujíc při tom reálný svět.
Nic moc se tedy nezměnilo, W3C stále mlží a propaguje nedodržování specifikací ze strany prohlížečů.

Je už možné psát stránky v XHTML bez skriptů tak, aby se to všude zobrazovalo ve standardním módu?
Vykreslovací módy se rozlišují pouze v HTML. Jakékoliv XHTML se, pokud ho prohlížeč podporuje (což zrovna není případ Exploreru), vykresluje ve standardním režimu.
imploder
Profil
Chamurappi
Protože je tohle vlákno taky o doctypu, připadalo mi, že to s tím dost souvisí. Teď se dívám, že je tady o tom celá sekce.

1) Vynechání XML deklarace je dovolené.
2) Užíváš-li MIME typ „text/html“ (což je velmi pravděpodobné), tak se žádný prohlížeč XML deklarací neřídí. Přehlíží ji, nezajímá je, berou ji víceméně jako komentář — a to je správné chování.

Prohlížeče to zobrazí, ale podle toho, co jsem četl to XHTML pak není. Přesně jak jsi to napsal nahoře. Potom ale asi nemá smysl tam takový doctype dávat, vlastně je to pak fraška. Díky za vysvětlení, že IE XHTML nepodporuje, myslel jsem, že jenom špatně.
3) Z jakého důvodu se vlastně snažíš dodržovat standardy?
Protože je to správné :) Standardy zaručují (nebo aspoň mají zaručovat) kompatibilitu. Nebýt nich byl by v tom bordel jako ještě před několika lety byl, teď už se díky nim nemusí optimalizovat pro každý prohlížeč zvlášť. Důvod proč používat XHTML je, že HTML je už v podstatě prohlášeno za zastaralý jazyk a už se nebude dál vyvíjet. V HTML jde to samé a k tomu ještě něco navíc a umí se vykreslovat postupně a neháže chyby. Ale i tak o tom pořád někdo mele jaký je to přínos, moc to nedává smysl. Kód stránek se dá beztak dělat stejný a věci jako RSS můžou být psané s jinou deklarací.

Nevím jak vám ostatním, ale mně komplikování stránek jakousi odnoží XML připadá zbytečné a vlastně to k ničemu není. Hledal jsem, jaká je výhoda oproti standardnímu HTML když se dobře používá a o žádné podstatné nevím. Je to ztráta času a nechápu, proč by mělo být XHTML lepší když se stejně použije na to samé. Akorát to není kompatibilní, i když prý z toho někdy v budoucnosti něco budeme mít. Nejlepší doctype je myslím pořád
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

(příp. s URL specifikace)
škoda, že je HTML oficiálně mrtvé :(

[off topic]: svojí (novější) stránce generátoru slov (#############################)
Omlouvám se, je už vážně trapný jak zase otravuju s tím generátorem.

Teď jsem zkusil u něj vyměnit XHTML 1.1 za HTML 4.01 Transitional a rozšířilo to nadpis nahoře. Tak to asi tak úplně stejné nebude. Tak jsem to zase vrátil. Vzpomínám si, že už jsem to řešil, ale nepamatuju si jak. Není to žádný bug IE, je to v Opeře.
Bubák
Profil
HTML je už v podstatě prohlášeno za zastaralý jazyk a už se nebude dál vyvíjet
I tohle prohlášení zastaralo, World Wide Web Consortium (W3C) pracuje na HTML5.
Měsíček
Profil
" Tak to asi tak úplně stejné nebude. Tak jsem to zase vrátil. Vzpomínám si, že už jsem to řešil, ale nepamatuju si jak. Není to žádný bug IE, je to v Opeře."

Změnil si režim nejspíše z quirku do standartu proto se rozšířil nadpis nahoře, (toho můžeš docílit stejně tak i bez XHTML doctypu).
Bubák
Profil
http://css.interval.cz/clanky/pracovni-rezimy-prohlizecu/
Byl tam pravděpodobně tenhle doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

S tímhle doctypem bys to měl na pixel stejné:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
imploder
Profil
Bubák
No jo, díky za upozornění. Vždyť to nahoře Chamurappi zmiňoval jako doctype pro quirk, jsem já to ale ****** (sic!).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

jsem zkoušel a opravdu to nic nedělá. I
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

vypadá stejně, ale validátoru se nelíbí text ve formuláři. Je zajímavé, že v XHTML mu to nevadí, i když je XHTML přísnější norma.

V těch seznamech (1, 2) je pro HTML 4.01 s URL v Mozille a Safari jen jakýsi skoro standardní režim. Pokud teda jde o to, který doctype je nejlepší, má smysl se takovému režimu vyhýbat (mít všude standardní a nutně tak používat buď striktní HTML 4.0(1) nebo striktní XHTML bez XML prologu), nebo s tím oproti plně standardnímu režimu nebývají žádné problémy?

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0