17. 7. 2003 čtvrtek
Minulý týden jsem zaznamenal problémy s RSS kanálem na conBLOGu. RSS čtečky přestaly načítat některé spoty. Následkem toho mj. klesla návštěvnost. Proto jsem začal pátrat. Chybu jsem udělal samozřejmě já, ale prohlížeče mi rozhodně v jejím řešení nepomohly. Jsou totiž až moc chytré.
Na vině je příliš inteligentní zobrazování chybně zapsaných znakových entit v prohlížečích. Znakové entity slouží třeba k zápisu speciálních znaků (např. & < > ©). Znaková entita se zapisuje ve formátu &KOD;. Důležitý je onen středník na konci. Oznamuje konec kódové sekvence (může se jednat např o anglický akronym znaku nebo o numerický kód znaku). Prohlížeče napravují chyby tvůrců stránek a středník si domyslí.
Domyšlený středník není problém pro prohlížeč, ale je to problém pro RSS čtečku, která v lepším případě ignoruje položky v RSS kanále. Mnohé RSS kanály jsou generovány automaticky z textu dokumentu nebo jsou při ručním vytváření RSS kopírovány autorem. Při validování spotů používám pochopitelně používám náhled v prohlížeči, který zobrazí i chybně zapsané entity.
Moje chyba byla způsobena chybějícím středníkem v entitě pro nedělitelnou mezeru ( ). Např. zápis v lese prohlížeč interpretuje jako v lese
. Pro RSS čtečku může být přítomnost chybně zadané entity fatální.
Testoval jsem na prohlížečích IE 5.5, IE 6, Opera 6, Mozilla 1.0 a Firebird. Všechny prohlížeče chybně interpretovaly bez povinného koncového středníku zapsané zankové entity - zobrazily je, jako by tam středník byl.
18. 7. 2003 pátek, 1.22
Tak to je tento týden už druhá podobná stížnost - viz příspěvek č.5 v diskusi k článku http://www.pixy.cz/blogg/web/2003_07_01_archiv.html#1058180164 ...
18. 7. 2003 pátek, 8.07
Kdyby moje Mozilla (1.4+) špatně zapsané entity zobrazovala chybně jako mezery, nepsal bych 8. 7. autorovi tohoto blogu pobídnutí k jejich opravě.
18. 7. 2003 pátek, 15.11
Souhlasím s příspěvkem Adama Haunera. Mně chybu hlásila nejen Mozilla, ale i MSIE, který si navíc stěžoval na chybnou hlavičku. IMHO bude problém (i) v něčem jiném ;-)
18. 7. 2003 pátek, 19.09
To Adam a Vilém: Jak jsem napsal, testoval jsem v Mozille 1.0. A taky jsem napsal, že "...Chybu jsem udělal samozřejmě já...".
Zjištění, že některé prohlížeče chybně zadané entity zobrazují "dobře" (tedy špatně) a naproti tomu je RSS čtečky je nezobrazují (což je dobře i špatně), považuji za důležité a proto jsem zvolil samostatný spot.
24. 1. 2004 sobota, 20.11
Používáte při ladění FeedValidator? Ten by snad podobnou chybu měl odhalit. Zajímalo by mě jaké XML parsery ty čtečky používají, že takovou chybu akceptují...
24. 1. 2004 sobota, 21.01
[5] Často nevaliduji, protože výstup RSS je generovaný automaticky systémem b2. Navíc použité kódování neprojde mnoha validátory - ty, které propustí windows-1250 vše zvalidují OK.
Čtečky to právě (správně) neakceptují, ale některé browsery HTML výstup akceptují a pak to v IE nemůžu kontrolovat.
Od roku 2002 conBLOG píše Jiří Bureš, conVERTER
Tip: Doporučuji webhosting Český hosting