TOPlist

Pixylophone - komentáře

Komentáře (od nejstarších po nejnovější)

Komentáře k příspěvku Spolehlivost validátoru W3C


[1] Vložil(a): MaD, 2004-08-03, 18:40 Solo | MuteČtenáři: ---

Ten neuzavrenej link je jasnej, ale u toho /body bych si nebyl uplne jisty. Kouknu se naspecifikaci. ale <script>....</body> v HTML kodu proste je.

[2] Vložil(a): MaD, 2004-08-03, 18:53 Solo | MuteČtenáři: ---

Podle me je ten druhej priklad skutecne nevalidni. vnitrek tagu script je definovany jako CDATA, ve specifikaci je se o CDATA pise: "The first occurrence of the character sequence "</" (end-tag open delimiter) is treated as terminating the end of the element's content. In valid documents, this would be the end tag for the element.". Tj. podle me to </ formalne ukonci vnitrek scriptu a ocekava se uzavreni tagu script, ale je tam uzavreno body, tj. chyba. Pro stouraly: to, ze je to uprostred JS retezce nema z hlediska HTML zadny vyznam.

[3] Vložil(a): Lukas Petrovicky [web], 2004-08-03, 19:01 Solo | MuteČtenáři: ---

uprimne - co takhle misto kopani do chyb spis otevrit e-mailoveho klienta a chyby oznamit?

pokud se tak uz stalo, omlouvam se - ale ve spotu o tom nebyla zminka...

[4] Vložil(a): Lubo [web], 2004-08-03, 19:35 Solo | MuteČtenáři: ---

Zdravim, zaujimalo by ma ako to je s validatorom CSS: http://jigsaw.w3.org/css-validator Obcas pouzijem nejaky ten hack a on ho bohuzial vypise ako chybu...Tiez sa na neho netreba 100% spoliehat.

[5] Vložil(a): dgx [web], 2004-08-03, 19:38 Solo | MuteČtenáři: ---

[3] Ale záměrem je něco jiného - nejde o to poukázat na konkrétní chybu validátoru, ale na to, že se má brát s určitým nadhledem. Klidně si ty příklady ze spotu odmyslete.

p.s. ten 'validní příklad' je vážně nevalidní. Ve scriptu se nesmí používat určité znaky, nebo se musí uzavřít mezi CDATA značky.

[6] Vložil(a): Lukas Petrovicky [web], 2004-08-03, 19:47 Solo | MuteČtenáři: ---

[<a name="#cmt5">5</a>] to ale nemeni nic na tom, ze pokud se o chybe vi, mela by se nahlasit. mluvit se o ni totiz muze do nekonecna, ale tim se problem neodstrani.
vsimnul jsem si, ze W3C ma pro hlaseni chyb klasickou BugZillu, takze se podivam jestli neco podobneho uz neni hlaseno a pripadne to ohlasim.

[7] Vložil(a): dgx [web], 2004-08-03, 19:48 Solo | MuteČtenáři: ---

[2] právě že vnitřek tagu script NENÍ definován jako CDATA, ale jako #PCDATA (tedy pouze text). Proto nelze použít < > &. Obsah je tedy nutné explicitně uzavřít do CDATA:

<script type="text/javascript">
<![CDATA[

... vlastní kód skriptu

]]>
</script>

 

protože ale ono <![CDATA[ může způsobit problémy při vykonávání skriptu, není špatné je uzavřít do komentářů daného skriptovacího jazyka. Tedy takto:

<script type="text/javascript">
/* <![CDATA[ */

... vlastní kód skriptu

/* ]]> */
</script>

[8] Vložil(a): Lukas Petrovicky [web], 2004-08-03, 19:48 Solo | MuteČtenáři: ---

[6] achjo, kdybych tak cetl ty vysvetlivky pod formularem :)

[9] Vložil(a): TimJ, 2004-08-03, 19:48 Solo | MuteČtenáři: ---

A co použít jako autoritativní application/xhtml+xml v Mozille nebo Opeře???

[10] Vložil(a): johnny [web], 2004-08-03, 19:57 Solo | MuteČtenáři: ---

[9]: tím se jen zjistí, jestli je stránka well-formed, o validitě to nevypovídá nic.

[11] Vložil(a): černovláska [web], 2004-08-03, 19:58 Solo | MuteČtenáři: ---

Tenhle prispevek je sice mimo misu, ale Pixy si ho urcite precte: Chci te pochvalit za stranky Blesku, v MDA chodily bezchybne :)

[12] Vložil(a): pixy [web], 2004-08-03, 20:32 Solo | MuteČtenáři: ---

Omlouvam se, nezvolil jsem dobry priklad - [2] ma s tim CDATA pravdu. Nicmene jsem ten string zmenil na '<html>' a nevalidni je to podle validatoru porad. Takze tento problem je vyresen.

ad [3] > Jedna se pochopitelne o zname chyby, o kterych W3 davno vi.

ad [4] > O CSS validatoru jsem radeji nemluvil, protoze tam je chyba na chybe. Nemluve o tom, ze tvrdosijne popira existenci CSS 2.1 a baziruje na sytaxi CSS 2.0. Tento validator je zcela nepouzitelny (aspon pro me).

ad [7] > Tohle je syntaxe, ktera se pouziva v XHTML a chtel bych videt, kdo a s jakym uspechem to pouziva treba v HTML 3.2 nebo 4.01/Transitional (a jak si s tim poradi treba stary NN nebo IE4) - nemluve o tom, ze tohle uz opravdu ve specifikaci techto starsich jazyku nenajdu. Jedine, co se tam pise, je: "Although the STYLE and SCRIPT elements use CDATA for their data model, for these elements, CDATA must be handled differently by user agents. Markup and entities must be treated as raw text and passed to the application as is."

[13] Vložil(a): Josef Petrák -aka- dj Padák [web], 2004-08-03, 21:01 Solo | MuteČtenáři: ---

Jo, podobných chyb je v HTML validátoru určitě více. Já zkoušel použít XHTML 1.1 a doplnit ho o metadata RDF tak, jak to popisuje W3C RDF FAQ (http://dsic.zapisky.info/RDF/FAQ). Validátor oznámil, že <rdf:RDF> je neznámý tag a to samé oznámil u všech atributů, i když jsem pro ně měl deklarované jmenné prostory.

[14] Vložil(a): Josef Petrák -aka- dj Padák [web], 2004-08-03, 21:09 Solo | MuteČtenáři: ---

Oprava předešlého, ta adresa má být takto http://dsic.zapisky.info/RDF/FAQ/

[15] Vložil(a): Michal Kubeček, 2004-08-03, 21:15 Solo | MuteČtenáři: ---

Ad [12]: IMHO je ta druhá ukázka pořád nevalidní. Je tam DTD od XHTML 1.0 Transitional a sekce 4.8 specifikace XHTML 1.0 hovoří zcela jasnou řečí: "In XHTML, the script and style elements are declared as having #PCDATA content. As a result, < and & will be treated as the start of markup, and entities such as < and & will be recognized as entity references by the XML processor to < and & respectively."

(http://www.w3.org/TR/xhtml1/#h-4.8 )

[16] Vložil(a): pixy [web], 2004-08-03, 21:20 Solo | MuteČtenáři: ---

ad [15] > Ouha, máš samozřejmě pravdu - XHTML se mi tam dostalo omylem a žil jsem v domnění, že tam mám HTML 4.01 Transitional. Renenonc, omlouvám se, zkusím najít jiný příklad (sakra, validátor mi to dělá co chvíli a zrovna když to potřebuju demnstrovat, mě nic z voleje nenapadne...)

[17] Vložil(a): dgx [web], 2004-08-03, 21:22 Solo | MuteČtenáři: ---

[15] přesně tak, příklad je v XHTML 1.0 a tudíž není možné použít < (viz [7]). S tím CDATA se Mad [2] a Pixy [12] podle mě pletou.

[12] Protože Tvůj příklad byl psán v XHTML, tak je třeba používat i v zápisu scriptu XHTML syntaxi, ne? A právě kvůli kompatibilitě je značka v komentářích /* <![CDATA[ */

[18] Vložil(a): dgx [web], 2004-08-03, 21:23 Solo | MuteČtenáři: ---

[16] tak to vše vysvětluje ;-)

[19] Vložil(a): MaD, 2004-08-03, 21:39 Solo | MuteČtenáři: ---

[17]: Jo, zmatlo me, ze prvni priklad j HTML 4.01, ten druhej je fakt XHTML. Ale na princpu to stejne nic nemeni. </ je problem tam i tam. V XHTML se to nesmi pouzit, v HTML 4 to "jenom" ukonci script.
Na tom, ze jakykoliv validator je z principu nespolehlivy to nemeni nic a jedine, co je jednosnacne je specifikace samotna. To same je i Mozilla + application/xhtml+xml.

[20] Vložil(a): Satano, 2004-08-03, 22:44 Solo | MuteČtenáři: ---

Len taký detail k prííspevku [7]. 100 % som si neni istý, ale myslím, že vhodnejšie je uzavierať tie CDATA značky do HTML komentárov (<!-- -->) a nie do skriptových. A potom by tomu mali rozumieť už úplne všetci.

[21] Vložil(a): MaD, 2004-08-03, 22:51 Solo | MuteČtenáři: ---

[20]: Urcite? Spis mam dojem, ze v ramci #PCDATA bude cely obsah predan skriptovemu enginu, ktery muze - ale v zasade nemusi - HTML komentare pochopit a odfiltrovat. Treba uplne nejklasictejsi Javascript v HTML komentare nefiltroval, naopak se pocitalo s tim, ze vlastni kod skriptu bude VEVNITR toho komentare. Takze mi pripadne jako spravne pouzivat komentarove znacky toho konkretniho jazyka, ve kterem je skript psan.

[22] Vložil(a): MaD, 2004-08-03, 22:57 Solo | MuteČtenáři: ---

[12]: jeste zmente DOCTYPE na HTML 4, a pak to asi bude skutecne validni, ale nejsem si uplne jisty, protoze nemam k dispozici ISO8879, kde by mela byt jasna definice toho, co presne znamena CDATA.

[23] Vložil(a): Tomáš Klinkovský, 2004-08-04, 06:40 Solo | MuteČtenáři: ---

A proč nepoužívat XHTML? V tom případě se udělá libovolným XML parserem kontrola oproti DTD a není co řešit.

[24] Vložil(a): MaD, 2004-08-04, 07:25 Solo | MuteČtenáři: ---

[23]: pokud ovšen ten XML parser bude bezchybný a to těžko stoprocentně zaručíte (a dokážete, nestačí jen "neumím najít dokument, na kterém to výsledek nebude odpovídat specifikaci", ale "dokument, na kterém se výsledek validace parserem bude lišit od specifikace neexistuje, protože...").

[25] Vložil(a): Jirka Kosek [web], 2004-08-04, 09:44 Solo | MuteČtenáři: ---

Možná bude problém v tom, že asi ne všichni si uvědomují, že validita znamená shodu stránky s DTD, ale nemusí znamenat shodu se specifikací HTML.

Vyjadřovací prostředky DTD jsou omezené, a proto nedokáží zachytit všechna omezení popsaná v textu specifikace. Takže například pixyho příklad ze šířkou buňky tabulky je *validní* (šířka má typ CDATA, který může obsahovat libovolný řetězec), ale *není ve shodě se specifikací*, protože v ní je napsáno, že tam má být uvedeno číslo (počet pixelů).

Stručně shrnuto validnost stránky je nutná, nikoliv postačující podmínka shody se specifikací HTML.

Zcela automatický kontrolor shody se specifikací HTML nejde napsat -- těžko se bude automaticky kontrolovat, zda jsou například textové popisy obrázků smysluplné. Nicméně si dovedu představit vytvoření dalšího schématu k HTML, které bude schopné zachytit věci nad rámec DTD. Třeba právě datový typ atributů, platnost odkazů v rámci dokumentu apod. Validace oproti DTD a tomuto doplňkovému schématu pak zaručí ještě větší míru shody se specifikací než jen validace oproti DTD. (Hmm, docela zajímavý nápad, asi to vypíšu jako bakalářkosu práci.)

Dovedu se představit, že by vyhláška nařizovala, že stránky musí jít zvalidovat oproti některé z verzí DTD a zároveň oproti schématu např. v Schematronu. Navíc DTD (SGML) a Schematron jsou (nebo brzy budou) ISO normy, a na ty vždy obor normotvorby na MIČR slyšel lépe než na nějaké RFC nebo W3C Recommendations.

[26] Vložil(a): markon, 2004-08-04, 09:46 Solo | MuteČtenáři: ---

Ohledně validity nevalidity, nejlepší by pro státní správu bylo určit, že musí být výstup v XHTML. Načtení dokumentu přes XML parser s DTD je velmi spolehlivá metoda jak ověřit validní dokument.

BTW podle mě se v tom moc pitváš. Nic není dokonalé, ani validátor, ale pokud uděláš pár chyb co validátor označí za dobré, tak budiš. Myslím, že webmaster si svůj dokument může ověřit a hotovo. Kdybys uvažoval o tom, že pravděpodobně možná to má chybu, tak by ses nikam nikdy nedostal

[27] Vložil(a): MaD, 2004-08-04, 10:12 Solo | MuteČtenáři: ---

[25]: Dvě poznámky. Tak, jak jsou pravidla napsána tak že požadují shodu se specifikací, tj. validitu proti specifikaci, ne validitu proti DTD.

Pokud specifikace obsahuje věci algoritmicky nepostižitelné a závislé na konkrétním názoru, pak je špatná. Ale já ve specifikaci nevidím požadavek na smysluplnost altu u obrázku, jen požadavek na jeho existenci.

[28] Vložil(a): Jirka Kosek [web], 2004-08-04, 10:18 Solo | MuteČtenáři: ---

[26]: Já bych s tím XHTML brzdil. Proč by se měly staré stránky předělávat? HTML lze stejně dobře (a dokonce lépe) validovat pomocí SGML parseru. DTD pro HTML umí ošetřit více věcí než to pro XHTML -- např. zákaz vnořených odkazů.

[29] Vložil(a): Jirka Kosek [web], 2004-08-04, 10:18 Solo | MuteČtenáři: ---

[26]: Já bych s tím XHTML brzdil. Proč by se měly staré stránky předělávat? HTML lze stejně dobře (a dokonce lépe) validovat pomocí SGML parseru. DTD pro HTML umí ošetřit více věcí než to pro XHTML -- např. zákaz vnořených odkazů.

[30] Vložil(a): Jirka Kosek [web], 2004-08-04, 10:42 Solo | MuteČtenáři: ---

[27]: Ne že bych se v tom chtěl šťourat, ale vy jste si začal :-)

Sekce 13.8 z HTML 4.01:
... Authors should observe the following guidelines:
...
Do not specify meaningless alternate text (e.g., "dummy text"). Not only will this frustrate users, it will slow down user agents that must convert text to speech or braille output.

[31] Vložil(a): Martin Trčka, 2004-08-04, 13:30 Solo | MuteČtenáři: ---

Pokud přijmeme myšlenku, že validator se chová správně, pokud za validní dokument označí ten, který odpovídá příslušnému DTD, tak druhý příklad - "nesmyslný" width - je taky OK.

V příslušném DTD je totiž parametr width definován jako %Length, což je CDATA (což je téměr cokoli).

[32] Vložil(a): Michal Kubeček, 2004-08-04, 14:20 Solo | MuteČtenáři: ---

Ad [31]: to je ovšem dáno jen a jen tím, že jazyk DTD neumožňuje specifikovat požadavek typu "tady má být číslo". Proto by bylo vhodnější k definici použít třeba XML Schema.

[33] Vložil(a): Jirka Kosek [web], 2004-08-04, 14:20 Solo | MuteČtenáři: ---

Trošku jsem si hrál a musím uznat, že je ve validátoru chyba. Stránka s neukončeným odkazem <a> skutečně validátorem projde, i když je chybná. Je to divné, protože lokálně spuštěný parser hlásí chyby. Uvidíme co na to řeknou hoši z W3C: http://lists.w3.org/Archives/Public/www-validator/2004Aug/0047.html

[34] Vložil(a): Jirka Kosek [web], 2004-08-04, 15:09 Solo | MuteČtenáři:  + + +

[33]: Stále je se co učit. Neukončený tag <A> je sice chyba, ale pixyho ukázka neobsahuje neukončený tag <A>. Specifikace HTML (konkrétně SGML deklarace pro HTML) umožňuje používat minimalizaci značkování, tj. místo <B>ahoj</B>, lze psát <B/ahoj/

Vezmeme teď kód z pixyho ukázky:

<A HREF=http://www.example.com>

Obsah atributu HREF není v uvozovkách, i když obsahuje znaky, které se musí dávat do uvozovek. Proto dojde k tomu, že parser si myslí, že autor použil minimalizaci značkování (// jsou první znaky, které nemohou být v atributu neouvozovkované, a náhodou se používají pro minimalizaci značkování). Tj. jako by bylo zapsáno:

<a href="http:"></a>www.example.com>

Element A je tedy uzavřený, nemá žádný obsah a je za ním neškodný text (připomínám, že > se nemusí přepisovat entitou, pouze < a &).

Záhada je tedy vyřešena, validátor funguje z formálního hlediska správně. Jen mi vrtá hlavou, proč je ve specifikaci HTML povolená minimalizace značkování. Žádný prohlížeč to stejně nepodporuje a až dodnes jsem si myslel, že je zakázaná.

Alespoň máme argument pro použití XHTML místo HTML -- tuhle chybu bychom tam hned odhalili, protože hodnoty atributů musí být v XML vždy v uvozovkách/apostrofech, ne jen někdy. Minimalize značkování je z XML rovněž odstraněná.

Více informací viz: http://lists.w3.org/Archives/Public/www-validator/2004Aug/0048.html

[35] Vložil(a): Danny, 2004-08-04, 18:44 Solo | MuteČtenáři: ---

Nevím, jestli to tu padlo (jsem trochu líný to celé číst :-) ), ale na http://www.htmlvalidator.com/htmlval/whycseisbetter.html je také poměrně obsáhlý popis neduhů W3C validátoru, který je průběžně aktualizován (dnes tam byla verze ke 14. 7. 2004)

Mimochodem, máte někdo s CSE validátorem nějaké vyloženě negativní zkušenosti?

[36] Vložil(a): Danny, 2004-08-04, 19:02 Solo | MuteČtenáři: ---

Tak jsem si konečně pročetl i ty příspěvky...

Já osobně pro kontrolu validity používám hned 3 validátory (oni se tak nějak vzájemně doplní :-) ), a to W3C, CSE a WDG (http://www.htmlhelp.com/tools/validator/).

Přesto bych stejně uvítal případně nějaký odkaz na další "téměř bezchybný" validátor.

Na CSS jsem používal W3C a WDG, ale vzhledem k mnoha chybám, resp. absenci podpory CSS 2.1 jsem to vzdal a víceméně (teď budou Pixymu vstávat vlasy hrůzou) hřeším na to, že jsem to zapsal správně, protože se (zatím) nedopouštím rozsáhlých konstrukcí. Uznávám, že to není nejlepší přístup a proto též ocením, když mi někdo dá tip také na nějaký "téměř bezchybný" CSS validátor/checker.

Pro Pixyho: Nechtěl bys sem umístit (třeba do rubriky Odkazy, která tak trochu zeje prázdnotou :-) - nic osobního, vím, že na to máš málo času) odkazy na několik nejpoužitelnějších validátorů? Myslím, že by to lidé mého typu, kteří se z tvých zápisků neustále učí, velice ocenili... Díky!

[37] Vložil(a): Michal Kubeček, 2004-08-05, 15:49 Solo | MuteČtenáři:  - - -

Ad [34]: uff, to je síla. Jeden by si myslel, že ho na HTML po těch letech už nic nemůže překvapit a pak tohle... Že bych se přeci jen musel pořádně podívat na SGML?

[38] Vložil(a): Jirka Kosek [web], 2005-07-28, 17:05 Solo | MuteČtenáři: ---

Ad [25]: Tak slíbený validátor, který je v mnoha ohledech dokonalejší než W3C (a v mnoha ještě ne ;-) je na světě:

http://badame.vse.cz/validator/


Váš názor

Přidat nový komentář

Váš komentář

Přidávání komentářů k tomuto příspěvku již bylo ukončeno.

Chcete-li autorovi přesto sdělit nějakou podstatnou informaci, která se příspěvku týká, kontaktujte jej e-mailem.



 RSS 0.9x  Export  RDF  Export  RSS 0.9x  Komentáře  TXT  Komentáře  XHTML 1.0  Validate  W3C  CSS 2.1  Em-web  Resizable  W4D  90% dogmatic

Vygenerováno: [stránka generována dynamicky]