3.10 Standardit ja validointi
Standardit ja W3C
WWW-ympäristössä häärää monta eri osapuolta: toisaalla ovat eri selainvalmistajat (Mozilla FireFox, AOL Netscape, Opera, Apple Safari, K-Meleon, Microsoft Internet Explorer 6 ja 7, pian myös IE8, KDE, lynx, Gnome...) sekä toisaalla kaikki ne tahot, jotka tekevät WWW-sivuja ja web-palveluita.
Jos jokainen näistä tekee koodinsa ja HTML-standardinsa ihan miten haluaa, syntyy kaaos jota kukaan ei voi enää hallita. Siksi jo kauan aikaa sitten perustettiin organisaatio, joka vastaa HTML- ja web-standardeista sekä niihin liittyvien teknologioiden kehitystyöstä. Tämä organisaatio on nimeltään World Wide Web Consortium, lyhennettynä W3C (http://www.w3c.org).
W3C vastaa standardeista sekä yhteisistä pelisäännöistä, kuinka selainten pitäisi toimia ja mitä HTML-koodilla (tai muilla koodeilla) voidaan ilmaista. Pelkkien ohjeiden ja sääntöjen lisäksi se on kehittänyt työkaluja joiden avulla web-sivuista ja -palveluista saadaan mahdollisimman toimivia ja yhteensopivia.
Validointi
Eräs standardointia ja sivujen yhteensopivuutta helpottava työkalu on ns. validointi. Se tarkoittaa työvaihetta, jonka avulla voidaan testata HTML-dokumentin oikeellisuus, virheettömyys ja yhteensopivuus:
îValidointi on prosessi, missä tarkistetaan, että dokumentti noudattaa käytetyn merkintäkielen sääntöjä. Toimintaa voisi verrata kirjoitetun tekstin oikeinkirjoituksen ja kielioppisääntöjen noudattamisen tarkistamiseen.
Validointi on tärkeä osa web-sivujen kehittämistä. Moni vaikeasti havaittava virhe selviää validoinnin aikana. Virhe voi olla niinkin yksinkertainen asia kuin näppäilyvirhe tai niin vakava kuin väärin käytetty elementti tai attribuutti.
Valitettavasti moni ei validoi dokumenttejaan. Jotkut eivät ehkä tiedä validoinnista ja toiset unohtavat sen. Lisäksi on niitä, jotka tarkoituksella välttävät validointia. Tästä voidaan syyttää pääasiassa selainvalmistajia. Useimmat selaimet yrittävät tulkita väärinkirjoitettua HTML:ia parhaansa mukaan ja yrittävät arvata kirjoittajan tarkoitusperiä sen sijaan, että näyttäisivät virheilmoituksen. Tällainen toiminta on johtanut huolimattomaan merkintätapaan, joka on hyvin yleistä nykyään. Tällaisen merkintätavan ongelma on siinä, että se johtaa ennalta-arvaamattomiin tuloksiin ja tukeutuu selainten virheensietokykyyn.î
Lähde: http://www.456bereastreet.com/lab/developing_with_web_standards/fi/#webstandards (ja siitä vähän alaspäin kohtaan VALIDOINTI)
Validointi estää tavallaan epäkelvon koodin käyttämisen ja saa siten HTML-dokumentista mahdollisimman yhteensopivan eri selainten välillä (ts. sivu näyttää samalta eri selaimilla katsottuna).
Kaikki eivät kirjoita HTML-dokumentteja täysin manuaalisesti, vaan käyttävät tavallisen tekstieditorin sijaan tähän tarkoitettua HTML-editoria. Tällaisia on markkinoilla paljon, osa ilmaisia ja osa kaupallisia (mm. BBEdit, HomeSite, shareware-versioita löytyy useita sekä Windowsille että Macille). Monipuolisemmat editorit, jotka yleensä eivät enää ole ilmaisia, tekevät tämän validoinnin ihan automaattisesti (mm. HomeSite). Tiukemmalla budjetilla toimiville on olemassa ilmainen ja takuulla standardit täyttävä validaattorityökalu, jonka käyttöön tutustutaan ihan kohta.
Dokumenttityypin määrittely (doctype)
Ennen kuin tuota maagista validointimasiinaa voidaan käyttää, täytyy käydä läpi yksi pieni mutta erittäin tärkeä asia. Jotta validointi voidaan tehdä oikein, täytyy validaattorin (validoinnin tekevän masiinan tai ohjelman) tietää tarkalleen minkälaisesta dokumentista on kyse. Pelkästään HTML-dokumentteja ja useita eri tyyppejä (HTML 1.0, HTML 2.0, HTML 3.0, HTML 3.1, HTML 3.2, HTML 4.0 ja HTML 4.01) ja sen lisäksi on kehitetty XHTML, DHTML, XML ja SGML-dokumentteja, ja näitä kaikkia voidaan tarkistaa samalla validaattorilla.
Sekaannuksien välttämiseksi kaikkien dokumenttien alkuun tulee lisätä ns. dokumenttityypin määritelmä (document type declaration, DTD, doctype). Se kertoo selaimille ja validaattorille että minkä tyyppisestä (HTML-)dokumentista on kyse.
Jos olet kirjoittanut HTML-dokumentin standardin 3.0 -mukaisesti, täytyy tämä jotenkin määrittää dokumentin alussa. Yhtälailla, jos olet käyttänyt 4.01 -standardiin liittyviä ominaisuuksia (esim. kehykset ja taulukot), täytyy tämä dokumentin alussa kertoa.
Doctype-määritelmä (DTD) tulee dokumentin alkuun ensimmäiselle riville prikulleen alla olevien esimerkkien mukaisesti. Vasta tämän jälkeen tulee se tuttu <html>-tunniste. Kaikki välilyönnit, isot ja pienet merkit yms. pitää olla juuri esimerkin mukaisesti:
-
Doctype löysästi 4.01-standarin täyttävälle HTML-dokumentille, jossa voidaan koodin seassa vaikuttaa ulkoasuun (fonttikoko, värit yms. - tätä olemme tähän mennessä opiskelleet ja käyttäneet):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
Doctype tiukasti 4.01-standarin täyttävälle HTML-dokumentille, jossa sisältö ja ulkoasu ovat erillään (tätä ei olla vielä käyty läpi vaan vasta ensi jakson
jälkeen ryhdytään käyttämään tätä):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-
Doctype 4.01-standarin täyttävälle kehysdokumentille (frameset):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Muitakin doctype-määritteitä on olemassa, ja jos jotakuta todella kiinnostaa tietää mistä tuo koodispagetti oikein tulee niin tässä on siihen sopiva linkki.
Tässä lisäksi hyvä englanninkielinen sivu, jossa kerrotaan lisää syitä siihen miksi dokumentin määrittely DTD on tärkeä ja oleellinen juttu. Lue se: http://www.netmechanic.com/news/vol6/html_no9.htm.

