Nápověda a FAQ pro validátor
Ne, to není chyba ve validátoru, on jen zná HTML lépe než ty.
— David Dorward, mailing-list W3C Validátoru.
Obsah
Obecně o validátoru
Tato kapitolka je téměř přesný překlad téhož textu u oficiálního validátoru.
Co je validace značkování?
Většina stránek na síti World Wide Web je psána v počítačových jazycích (třeba v HTML), které umožňují autorům strukturovat text, přidávat multimediální obsah a specifikovat vzhled nebo styl, jaký má výsledek mít.
Jako každý jazyk mají i tyto svoji gramatiku, slovní zásobu a syntaxi u každého dokumentu psaného těmito jazyky se předpokládá, že uvedená pravidla dodržuje. Jazyky (X)HTML až do verze XHTML 1.1 užívají strojově čitelné slovní zásoby zvané DTD, což je mechanismus poděděný z jazyka SGML.
Stejně jako texty v normálním jazyce mohou obsahovat gramatické chyby, tak i dokumenty užívající značkovací jazyky mohou (z různých důvodů) porušovat svá pravidla. Proces ověřování, zda dokument skutečně ctí pravidla pro daný jazyk, se nazývá validace a nástroj k ní užívaný je validátor. Dokument, který úspěšně projde validací, je validní.
S ohledem na výše uvedené můžeme definovat „validaci značkování“ jako proces ověřování webového dokumentu podle té slovní zásoby (většinou DTD), kterou tvrdí, že užívá.
Je validace nějakým druhem kontroly kvality? Znamená výraz „validní“ něco jako „kvalita schválená W3C“?
Validita je jedním z mnoha kritérií kvality webové stránky. Jinými slovy, validní webová stránka není nutně dobrá webová stránka, zatímco nevalidní webová stránka má malou šanci být dobrou webovou stránkou.
Proto sám fakt, že validátor říká, že stránka úspěšně prošla validací, neznamená, že W3C hodnotí stránku jako dobrou. Pouze to znamená, že nástroj (ne nutně bezchybný) zjistil, že stránka vyhovuje specifické množině pravidel. Nic víc, nic míň. Proto by také ikonky „validní ...“ nikdy neměly být považovány za „záruku kvality od W3C“.
Je validita totéž co konformita?
Ne, jde o dvě různá pojetí.
Značkovací jazyky jsou definovány v technických specifikacích, které zpravidla obsahují formální gramatiku. Dokument je validní, pokud je napsán v souladu s onou formální gramatikou, kdežto konformita souvisí se specifikací samotnou. Tato dvě pojetí mohou být ekvivalentní, ale ve většině případů některé požadavky konformity nemohou být vyjádřené v gramatice, kvůli čemuž je validita pouze částí konformity.
Co je validátor a co dělá?
Validátor je nástroj a služba, která je k dispozici zdarma a která validuje značkování: jinými slovy, kontroluje syntaxi webových dokumentů zapsaných ve formátech jako je (X)HTML.
Validátor je něco jako lint
pro programovací jazyk C. Porovnává vaše HTML dokumenty s definovanou syntaxí HTML a hlásí všechny nesrovnalosti.
Zjistěte více o validátoru a o jazycích, které umí validovat.
Proč bych měl(a) validovat své stránky?
Jedno z nejdůležitějších rčení počítačového programování zní: Buď konzervativní v tom, co vytváříš; buď liberální v tom, co přijímáš.
Prohlížeče dodržují druhou poloviny tohoto rčení tím, že přijímají webové stránky a snaží se je zobrazit i přesto, že nejsou korektní HTML. To obvykle znamená, že prohlížeč zkusí znalecky odhadnout, co jste asi chtěli vyjádřit. Problém je v tom, že různé prohlížeče (nebo dokonce různé verze téhož prohlížeče) činí nad nekorektními konstrukcemi různé odhady. V horším případě, pokud je vaše HTML opravdu patologické, prohlížeč se může beznadějně zmást a ukázat rozsypaný čaj, nebo dokonce spadnout.
Proto byste měli chtít dodržovat tu první polovinu rčení a ověřit si, že vaše stránky jsou korektní HTML. Nejlepší způsob ověření je ten, že na své dokumenty pustíte HTML validátor(y).
U tohoto českého validátoru najdete i podrobnější odpovědi, proč validovat. U oficiálního validátoru mají odpovědi také, ale trochu jiné a hlavně je mají anglicky :o)
Jak validátor pracuje?
Validátor je založený na OpenSP, což je SGML parser postavený na SP SGML parseru od Jamese Clarka. Validátor sám je CGI skript, který (zjednodušeně) nasaje váš dokument, prožene ho parserem a přežvýká výsledný seznam chyb pro snadnější čtení.