XHTML
Mureakuha
Sisällysluettelo |
XHTML
Perustietoa
HTML tulee sanoista HyperText Markup Language. Vapaasti suomennettuna tämä tarkoittaa "hypertekstin merkkauskieltä". Kyseessä on siis standardi, joka määrittelee miten web-sivujen rakenne, ulkoasu ja sisältö esitetään.
XHTML tulee sanoista eXtensible HyperText Markup Language. Sana extensible viittaa tässä yhteydessä lähinnä toiseen standardiin, XML:ään, johon XHTML perustuu. XHTML on suunniteltu korvaamaan HTML ja esitteleekin siistimmän ja eräällä tavalla tiukemman version HTML:stä.
Yksinkertaisen XHTML-sivun koodi
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Sivun otsikko</title> </head> <body> <h1>Otsikko</h1> <p>Tekstikappale</p> </body> </html>
XHTML vs. HTML
XHTML ja HTML eroavat toisistaan! HTML on alunperin kehitetty kuvaamaan ainoastaan www-sivun rakennetta. 90-luvulla HTML:n yleistyessä sivujen tekijät halusivat vaikuttaa sivujen ulkoasuun. Hätiin riensivät selainvalmistajat ja lisäsivät selaimiinsa erilaisia standardin ulkopuolisia elementtejä, joilla tekijät pystyivät tekemään sivuistaan näyttävämmän näköisiä. Seuraus tästä oli, että eri selainten tuki eri elementeille oli vaihtelevaa. HTML-kielen kehittäjien oli otettava näitä epävirallisia elementtejä mukaan viralliseen standardiin. Toiveena oli että selainvalmistajat näin alkaisivat kaikki tukea myös ennen epävirallisia ominaisuuksia. Tämä toive ei täysin toteutunut, sillä tänä päivänäkään ei vielä löydy kahta eri selainta, jotka näyttäisivät kaikkia HTML-kielen ominaisuuksia samalla tavalla. Sen sijaan HTML paisui kuin pullataikina ja menetti osan alkuperäisestä tarkoituksestaan.
Sitten HTML:n kehittäjät loivat XHTML-kielen. Se kehitettiin korjaamaan vuosien saatossa HTML:n kanssa havaitut ongelmat. XHTML oli paluu HTML:n alkulähteille ja sen päätarkoituksena on kuvata dokumentin rakennetta, ei niinkään ulkoasua. Miten käsitteet rakenne ja ulkoasu sitten eroavat? Ulkoasu on sitä, miten erilainen teksti ja kuvasisältö esitetään. Esimerkiksi "teksti esitetään punaisella Arial-fontilla" on ulkoasuun liittyvä ohje. Rakenteeseen liittyvä ohje olisi: "Tekstin kolme ensimmäistä riviä muodostavat ensimmäisen kappaleen ja loput tekstistä muodostavat toisen kappaleen. Lisäksi tekstin viimeinen sana on linkki toiseen dokumenttiin."
Jos XHTML-kielellä ei voi määrittää ulkoasua, ovatko kaikki XHTML-sivut rumia? Eivät toki. XHTML:n rinnalle on kehitetty Cascading Style Sheets -standardi, jossa ulkoasu esitetään erillisellä tyyliohjeella. Tyyliohjeen avulla voi määrittää monipuolisesti sivun ulkoasua kuten taustaväriä, marginaaleja, tekstin väriä, reunaviivoja jne. XHTML:ssä on siis ulkoistettu lähes kaikki ulkoasuun liittyvät ohjeet.
Yksi hyvä esimerkki XHTML + CSS yhdistelmän voimasta on css Zen Garden. Sivuston ideana on että yhteen samaan XHTML-sivuun on tehty käyttäjien toimesta satoja eri tyylitiedostoja joita voi suoraan käyttää sivustolla. Jälki on erittäin näyttävää ja monipuolista huolimatta siitä että kaikissa on täsmälleen sama XHTML koodi alla, ainoastaan CSS tiedosto vaihtuu.
XHTML Lyhyt kielioppi
- XHTML sivu alkaa AINA dokumenttityypin määrittelyllä
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head></head> <body> DOCTYPE määrittely tehdään AINA ennen HTML tagia. </body> </html>
- Elementit eivät saa mennä ristiin
<p>Tämä on validia <em>XHTML<em> koodia</p> <p>Tämä taas <em>EI</p> OLE</em> validia XHTMLkoodia</p>
- Elementeillä on AINA lopetustagi
<p>Validi rivi</p> <p>Ei validia <p>koodia <br> Tämä EI OLE validia koodia <br /> Tämä on standardin mukaista <br></br> Myös tämä käy
- Attribuutit pitää AINA laittaa lainausmerkkien sisälle
<td rowspan="3"> Oikein! <td rowspan=3> VÄÄRIN!
