Autor Zpráva
Měsíček
Profil
Když se snažím psát v xhtml mám používat i tuhle příponu ?
Na kterou verzi to platí ? (Na všechny ?)
Je to důležité a když to neudělám bude můj kód jinak validní ?

========================

byl bych rád kdyby jste mi na tyto otázky odpověděli mám v nich zatím docela guláš ... :-(
Chamurappi
Profil
Reaguji na Měsíčka:
Když se snažím psát v xhtml mám používat i tuhle příponu ?
Prohlížečům na příponě nezáleží, rozhodující je pro ně MIME typ (v HTTP hlavičce Content-Type). Server se však většinou podle přípony rozhoduje, jaký MIME typ pošle.

Na kterou verzi to platí ? (Na všechny ?)
Prakticky existuje jen jedna verze XHTML (<!doctype> je prohlížečům k ničemu). Takže vlastně na všechny.

Je to důležité a když to neudělám bude můj kód jinak validní ?
Budeš-li používat MIME typ „text/html“ s XHTML syntaxí, bude tvůj kód považován všemi cílovými zařízeními za rozbité HTML. Validující cílové zařízení pochopitelně nahlásí chyby.
Měsíček
Profil
Reaguji na Chamurappi :

Ještě jedna otázka :

Jestliže budu své stránky dělat s příponou " .xhtml " budou ji moci vidět i ostatní (uživatelé), když tuto příponu dokáže otevřít pouze prohlížeč " Mozilla Firefox " ?
Chamurappi
Profil
Reaguji na Měsíčka:
Prohlížečům na příponě nezáleží, rozhodující je pro ně MIME typ.
Soubory s příponou „.xhtml“ většinou mají nastavený typ „application/xhtml+xml“, který podporuje Mozilla, Opera a pár dalších. Nepodporují jej Internet Explorer, Seznam, Google a pár dalších. Nepodpora se projeví stoprocentní nefunkčností.
Joker
Profil
Chamurappi
Nepodporují jej Internet Explorer, Seznam, Google a pár dalších. Nepodpora se projeví stoprocentní nefunkčností.
mm? Nebo už i Explorerova Oběť posílá Googlu a Seznamu text/html?
Měsíček
Profil
Reaguji na Chamurappi :

Ještě poslední otázka, jestli budu dělat své stránky v "HTML 4.01" a zároveň budu dělat uzavírání tagů např. <br/>, budu psát jen malými písmeny, budu se snažit psát i přesné atributy, např. multiple="multiple", uzná mi to validátor jako přesné HTML ? nebo bude mít zase kecy ...
Railbot
Profil
Měsíček
Proč bys používal xhtml syntaxi, když chceš deklarovat HTML?
Joker
Profil
Měsíček
zároveň budu dělat uzavírání tagů např. <br/>
to se v HTML nemá (respektive přesně tomuchle Chamurappi říká "pokažené HTML")

budu psát jen malými písmeny
to by se mělo i v HTML

budu se snažit psát i přesné atributy, např. multiple="multiple"
tohle je jedno.

nebo bude mít zase kecy
Bude mít zase kecy- kvůli těm lomítkům. Chamurappiho validátor totiž validuje všechno s typem text/html jako HTML, takže ten výsledek validace je už teď stejný, jako by byl pro HTML 4.01. Ačkoliv ten validátor napíše, že ten dokument není validní XHTML, ve skutečnosti ho testuje na validitu proti HTML.
Bubák
Profil
<br/>
HTML validátor vidí:
<br/ lomítko a většítko jsou konec značky
> na novém řádku

budu psát jen malými písmeny
HTML validátoru je to jedno, ale většině lidí se takový kód lépe čte.

Co vyhodí na multiple="multiple" nevím, nepoužívám, ale myslím si, že mu to nebude vadit.
www.w3.org/TR/html401/index/attributes.html
Měsíček
Profil
Reaguji na Railbot :

Proč bys používal xhtml syntaxi, když chceš deklarovat HTML?

Protože jak vidím, nynější verze XHTML 1.1 dělá problémy a dokud nebude 2 tak se nespraví a proto zatím chci psát v HTML 4.01, ale zároveň si chci udělat dobré návyky na pozdější přechod, už chápeš ?

Reaguji na Joker :

Takže jestli jsem to pochopil, tak problém bude jen ukončování tagů (<br/>) ..
Railbot
Profil
Měsíček
a dokud nebude 2
Nebude.

Návyky. Uzavírat nepárové tagy je opravdu věc hodná dlouhého nácviku :o) Jiný rozdíl v tom není. A můžu se zeptat proč si nedeklaruješ normální xhtml, třeba trans? Když už bys chtěl psát v xhtml.
Joker
Profil
Měsíček
Protože jak vidím, nynější verze XHTML 1.1 dělá problémy
pokud vím, XHTML 1.1 se nemůže odesílat s typem text/html.
Dle mého názoru je řešením pro XHTML vyrobit kompatibilní XHTML 1.0, které se může odesílat jako text/html. Rovnou ale podotýkám, že validator.webylon.info i tohle validuje jako HTML a pak napíše, že je to nevalidní XHTML (ačkoliv tam žádné prohřešky proti XHTML nejsou).

zatím chci psát v HTML 4.01, ale zároveň si chci udělat dobré návyky na pozdější přechod
No ale nechat úplně stejný kód akorát změnit doctype je celkem nesmysl. To už je "méně špatné" a jednodušší řešení se prostě na validátor vykašlat.

Takže jestli jsem to pochopil, tak problém bude jen ukončování tagů (<br/>) ..
Zrovna <br/> validátoru vadit nebude, ale třeba <meta/>. Mimochodem připomínám, že v "kompatibilním XHTML" (ale má to být XHTML 1.0, ne 1.1) se má před lomítkem dělat mezera, <br />, což s tím problémem souvisí.

V čem je problém:
HTML totiž přebírá ze SGML jednu vlastnost, zvanou NET (Null End Tag), která umožňuje zapsat značku zkráceně: místo počáteční a koncové značky se napíše začátek značky, lomítko, obsah značky a lomítko, příklad: <div/ahooooj/ = <div>ahooooj</div>
Nutno ovšem podotknout, že takhle to funguje jen teoreticky, prakticky snad žádný prohlížeč ten zápis nepodporuje. Nicméně validátor, pokud validuje kód jako HTML, bere <br/> jako <br>>. Což sice není to, co zamýšlel autor stránky, ale validátoru to ani nevadí, <br>> není konstrukce, se kterou by měl nějaký problém. Jenže horší je to u značek v hlavičce, jako <link> nebo <meta>: validátor třeba <meta/> uvidí jako <meta>> ... má tam navíc >, znaková data. Což v hlavičce není povolené... a vyhodí chybu.
Chamurappi
Profil
Reaguji na Měsíčka:
nynější verze XHTML 1.1 dělá problémy a dokud nebude 2 tak se nespraví
Dvojka bude s XHTML 1.1 nekompatibilní velmi podobně jako XHTML 1.1 s HTML. Nepřinese řešení, ale další (téměř stejný) problém.

zároveň si chci udělat dobré návyky na pozdější přechod
Pokud k němu někdy dojde, bude to za hodně dlouho a půjde udělat automaticky. Už je tři roky ve vývoji HTML 5, které obnovuje vývoj HTML a má nezanedbatelnou šanci převálcovat stávající praxi.


Reaguji na Jokera:
mm?
Nalezená stránka se seznamem článků obsahující pojem „Explorerova oběť“ se pochopitelně posílá s MIME typem „text/html“.

Ačkoliv ten validátor napíše, že ten dokument není validní XHTML, ve skutečnosti ho testuje na validitu proti HTML.
Validuje ho HTML parserem proti XHTML DTD. Ověřuje validitu proti odkázané DTD a při tom píše, co to je za DTD.
Když pošleš HTML s typem „application/xml“, tak ti také napíše, že dokument není validní HTML.

pokud vím, XHTML 1.1 se nemůže odesílat s typem text/html
Co tomu brání? Stránka bude vinou nedostatečné implementace HTML fungovat úplně stejně jako XHTML 1.0. Tohle pravidlo je jen dalším stéblem na kupce mytologie.

validator.webylon.info i tohle validuje jako HTML a pak napíše, že je to nevalidní XHTML (ačkoliv tam žádné prohřešky proti XHTML nejsou)
Jsou tam prohřešky proti té DTD — znaková data v <head>. Kdyby to validoval proti DTD z HTML, hlásil by, že <link> (nebo <meta> nebo <title>) není dovolen uvnitř <body>.

Zrovna <br/> validátoru vadit nebude
Vyhodí varování. Nedávno se tohle naučil i W3C Validátor.
Petr Tichý
Profil
pokud vím, XHTML 1.1 se nemůže odesílat s typem text/html.
>> http://atd.havrlant.net/xhtml-11
Joker
Profil
Chamurappi
Nalezená stránka se seznamem článků obsahující pojem „Explorerova oběť“ se pochopitelně posílá s MIME typem „text/html“.
Ale jak je vidět, Google i Seznam článek najdou a zaindexují (a zjevně vidí i obsah uvnitř článku). Seznam dokonce i udělá jeho screenshot. Přitom článek má (u mě v Opeře) MIME application/xml. Kdyby Google a Seznam neuměly application/xml, neměly by vůbec článek zaindexovat, ne?

Co tomu brání?
Jak tak čtu, specifikace nejsou zrovna jasné, ale přesto (byť nenormativně) říkají, že se to nemá dělat.

Vyhodí varování.
Ale stejně dá zelenou ikonku :-)

Jinak poznámka k mému předchozímu příspěvku: To lomítko nemusí vadit jen v hlavičce, může vadit i v těle stránky, pokud na daném místě nejsou dovolena znaková data.
Timy
Profil
Joker
application/xml ≠ application/xhtml+xml (o kterém byla řeč)
Joker
Profil
Timy
Přijde mi nepravděpodobné, že by vyhledávač znalý XHTML s typem application/xml neuměl application/xhtml+xml
Trejpa
Profil
Joker
Ale jak je vidět, Google i Seznam článek najdou a zaindexují (a zjevně vidí i obsah uvnitř článku). Seznam dokonce i udělá jeho screenshot. [...]
Seznam tu stránku nevidí. Odkaz i screenshot je z rozcestníku. Tyto stránky nejsou totéž:
http://www.webylon.info/K
http://www.webylon.info/K.32

Kdyby Google a Seznam neuměly application/xml, neměly by vůbec článek zaindexovat, ne?
Seznam ho nenajde, IMHO tedy application/xml neumí. Google už asi ano.
Chamurappi
Profil
Reaguji na Jokera:
Aha, nevšiml jsem si, že ta dvě „m“ jsou dva odkazy. Myslel jsem, že odkazuješ jen na Seznam.

jak je vidět, Google i Seznam článek najdou a zaindexují
Ty sis ale zase nevšiml, že Seznam indexuje jen seznam článků, nikoliv článek samotný.
Google Explorerovu oběť skutečně indexuje. Pozoruhodné zjištění.

specifikace nejsou zrovna jasné, ale přesto (byť nenormativně) říkají, že se to nemá dělat
Ano, součást mytologie. Bububu, standardizátor na tě sešle prokletí.
Pokud se kód ekvivalentních dokumentů užívajících XHTML 1.0 a 1.1 bude lišit jen v <!doctype> deklaraci, pak by potenciální problém při „text/html“ mohl vznikat pouze v klientech, kteří se o <!doctype> zajímají. Dodatek C v XHTML 1.0 ovšem počítá s tím, že se o <!doctype> nezajímá nikdo.


Reaguji na Timyho:
application/xml ≠ application/xhtml+xml (o kterém byla řeč)
Od 8. září 2006 dostávají User-Agenti obsahující „bot“ trochu jinou verzi Explorerovy oběti s typem „application/xhtml+xml“.

Google už zřejmě doopravdy XHTML nějak podporuje. Seznam ne. Morfeo ne. Jyxo a Yahoo pravděpodobně také ne.
Měsíček
Profil
Chamurappi : mohu se zeptat proč tvůj validátor nechá projít tuto chybu ?

<?xml version="1.0" encoding="UTF-8"?> tohle má být vždy na začátku stránky a tvůj validátor to klidně nechá projít i když je to na druhým což oficiální zakazuje a myslím, že je to tak i lepší ..
Chamurappi
Profil
Reaguji na Měsíčka:
tvůj validátor to klidně nechá projít i když je to na druhým
Nenechá. Můj validátor uměl na tohle upozorňovat o tři měsíce dříve než oficiální. Viz dokumentace rozdílů.

a myslím, že je to tak i lepší
Těžko spekulovat o tom, co je lepší. Pokud před XML deklarací něco je, tak dokument vůbec nefunguje (nesmí fungovat).
Měsíček
Profil
žel nechá (jsou to tak cca. 4 dny)

<?xml version="1.0" encoding="windows-1250"?>
<?xml-stylesheet href="#externalStyle" type="text/css"?>
<?xml-stylesheet href="#externalStyleforMozilla" type="text/css"?>

tohle je správně a tohle je blbě a prošlo to :


<?xml-stylesheet href="#externalStyle" type="text/css"?>
<?xml-stylesheet href="#externalStyleforMozilla" type="text/css"?>
<?xml version="1.0" encoding="windows-1250"?>

oficiální to, ale nepovolí, u tvého mi to prošlo.
Chamurappi
Profil
Reaguji na Měsíčka:
Mohu vidět živou ukázku?
Mimochodem, adresa „#externalStyle“ asi míří navzdory svému názvu na interní stylopis, ne? :-)
Měsíček
Profil
Dám ti soubor a zkus to sám mám ho na počítači proto nemohu při validaci poslat odkaz ..

<?xml-stylesheet href="#externalStyle" type="text/css"?>
<?xml-stylesheet href="#externalStyleforMozilla" type="text/css"?>
<?xml version="1.0" encoding="windows-1250"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cz" lang="cz">
<head>
<title> Moje první šablona </title>
<link rel="StyleSheet" type="text/css" href="styl_MF.css" />
<!--[if IE]>
<link rel="StyleSheet" type="text/css" href="styl_IE.css" />
<![endif] -->
<meta http-equiv="Content-language" content="cs" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<meta name="author" content="Daniel Gomola" />
</head>
<body/>
</html>

— hodně zkráceno; chtěl jsem živou ukázku problému, ne Lorem Ipsum —
Str4wberry
Profil
Odpovídám Měsíčkovi:
Špatný MIME typ (Chamurappiho oblíbené „rozbité“ HTML). Viz http://validator.webylon.info/docs/xhtml.html
Měsíček
Profil
Str4wberry : já vím, ale není to zas tak jednoduché jak se zdá, to předělat ;)
Chamurappi
Profil
Reaguji na Měsíčka:
mám ho na počítači proto nemohu při validaci poslat odkaz
A nemůžeš ho ani dát na web?
Zajímal mě MIME typ. Jestli to třeba není „text/html“ — v HTML totiž XML deklarace nevadí, ať je kde je. Nic neovlivňuje.

Nicméně ten tvůj kód, kdyby byl brán jako XML, u mého jednorožce skutečně projde. Chybnou XML deklaraci nerozezná, ale ani nenahlásí. Nebere ji jako deklaraci kódování, ale jako tzv. „procesní instrukci“ — nevšímá si jí stejně jako těch <?xml-stylesheet?>. Podle specifikace by ovšem měl zkontrolovat, jestli se instrukce nejmenuje [xX][mM][lL], a zahlásit tady chybu. Někdy ho to naučím. Díky za upozornění.
Měsíček
Profil
není zaco :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0