Tällä luennolla opitaan WWW-sivujen tekemiseen käytettävän XHTML-merkintäkielen perusteet.
<title>Tietokone ja tietoverkot työvälineenä</title>
<?xml version="1.0"?>
<kerho>
<kerhonnimi>Kelmien kerho ry</kerhonnimi>
<maxjasenia>13</maxjasenia>
<jasen>
<id>1</id>
<nimi>Ankka Aku</nimi>
<hetu>010245-123U</hetu>
<katuosoite>Ankkakuja 6</katuosoite>
<postinumero>12345</postinumero>
<postiosoite>ANKKALINNA</postiosoite>
<kotipuhelin>12-12324</kotipuhelin>
<harrastukset>
<harrastus>kalastus</harrastus>
<aloit>1955</aloit>
<viikossa>20</viikossa>
</harrastukset>
<harrastukset>
<harrastus>laiskottelu</harrastus>
<aloit>1950</aloit>
<viikossa>20</viikossa>
</harrastukset>
<harrastukset>
<harrastus>tyon pakoilu</harrastus>
<aloit>1952</aloit>
<viikossa>40</viikossa>
</harrastukset>
</jasen>
<jasen>
<id>2</id>
<nimi>Susi Sepe</nimi>
<hetu>020347-123T</hetu>
<postinumero>12555</postinumero>
<postiosoite>Takametsa</postiosoite>
<harrastukset>
<harrastus>possujen jahtaaminen</harrastus>
<aloit>1954</aloit>
<viikossa>20</viikossa>
</harrastukset>
<harrastukset>
<harrastus>kelmien kerho</harrastus>
<aloit>1962</aloit>
<viikossa>2</viikossa>
</harrastukset>
</jasen>
</kerho>
a-elementtiin tulevalla href-attribuutilla:
<a href="http://www.jyu.fi/">Jyväskylän yliopisto</a>
XHTML 1.1 on uusin W3C:n XHTML-suositus.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
XHTML Basic on erityisesti mobiililaitteita varten määritelty suppea versio XHTML 1.1:stä. Käytännössä XHTML Basic riittää kaikkiin perustarpeisiin.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
Dokumenttien validointiin on olemassa ns. HTML-validaattoreita.
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" >
<head>
<title>Jyväskylän yliopisto</title>
</head>
<body>
<h1>Jyväskylän yliopisto</h1>
<p>Jyväskylän yliopisto on ...</p>
</body>
</html>
Seuraavassa kuvassa on esitettynä dokumentin perusrakenne. Perusrakenteesta kannattaa huomata seuraavat asiat:
Seuraavassa on esitetty lyhyesti XHTML Basic suosituksen mukaiset elementit.
Seuraavassa kaaviossa pyritään selventämään XHTML-elementtien suhdetta toisiinsa XHTML 1.1:ssä. Kaaviosta puuttuu hyvin
paljon elementtejä ja kaavio ei ilmaise täysin elementtien välisiä riippuvuuksia.
Lohkotason elementtejä voi sijoittaa suoraan body-elementin sisään.
Useimmat lohkotason elementit voivat sisältää joko pelkkää tekstiä tai merkkitason elementtejä.
<h1>Ensimmäisen tason otsikko</h1> <p>Tämä on tekstikappale</p> <h2>Toisen Tason otsikko</h2> <p>Tämä on tekstikappale</p>
<p> Tämä on tekstikappale </p> <p> Tämä on tekstikappale </p>
Listat ovat myös lohkotason elementtejä. Listojen sisään voi sijoittaa sekä merkkitason elementtejä että toisia lohkotason elementtejä
Seuraavassa on esimerkkien avulla käsitelty järjestämätön ja järjestetty lista sekä määritelmälista.
<ul> <li>Järjestämättömän listan ensimmäinen alkio</li> <li>Järjestämättömän listan toinen alkio</li> <li>Järjestämättömän listan kolmas alkio</li> <li>Järjestämättömän listan neljäs alkio</li> </ul>
<ol> <li>Järjestetyn listan ensimmäinen alkio</li> <li>Järjestetyn listan toinen alkio</li> <li>Järjestetyn listan kolmas alkio</li> <li>Järjestetyn listan neljäs alkio</li> </ol>
<ol>
<li>Järjestetyn listan ensimmäinen alkio
<ul>
<li>Järjestämättömän listan ensimmäinen alkio</li>
<li>Järjestämättömän listan toinen alkio
<ol>
<li>Järjestetyn listan ensimmäinen alkio</li>
<li>Järjestetyn listan toinen alkio</li>
</ol>
</li>
<li>Järjestämättömän listan kolmas alkio</li>
</ul>
</li>
<li>Järjestetyn listan toinen alkio</li>
<li>Järjestetyn listan kolmas alkio
<ul>
<li>Järjestämättömän listan ensimmäinen alkio</li>
<li>Järjestämättömän listan toinen alkio</li>
<li>Järjestämättömän listan kolmas alkio
<ul>
<li>Järjestämättömän listan ensimmäinen alkio</li>
<li>Järjestämättömän listan toinen alkio</li>
</ul>
</li>
<li>Järjestämättömän listan neljäs alkio</li>
</ul>
</li>
</ol>
Taulukoita rakennettaessa kannattaa huomata seuraavia asioita:
Seuraavassa yksinkertainen esimerkki taulukosta, jossa on neljä riviä ja kaksi saraketta.
| Esimmäisen sarakkeen otsikko | Toisen sarakkeen otsikko |
|---|---|
| 1. rivin 1. solu | 1. rivin 2. solu |
| 2. rivin 1. solu | 2. rivin 2. solu |
| 3. rivin 1. solu | 3. rivin 2. solu |
<table summary="Tekstikuvaus taulukon sisällöstä"> <caption>Taulukkoon liittyvä otsikko</caption> <tr> <th>Esimmäisen sarakkeen otsikko</th> <th>Toisen sarakkeen otsikko</th>< /tr> <tr> <td>1. rivin 1. solu</td> <td>1. rivin 2. solu</td> </tr> <tr> <td>2. rivin 1. solu</td> <td>2. rivin 2. solu</td> </tr> <tr> <td>3. rivin 1. solu</td> <td>3. rivin 2. solu</td> </tr> </table>
| Ensimmäisen sarakkeen otsikko | Toisen sarakkeen otsikko | Kolmannen sarakkeen otsikko |
|---|---|---|
| 1. rivin 1. solu | 1. rivin 2. solu | 1. rivin 3. solu |
| 2. rivin 1. solu | 2. rivin 2. solu | 2. rivin 3. solu |
| 3. rivin 1. solu | 3. rivin 2. solu | 3. rivin 3. solu |
| 4. rivin 1. solu joka laajenee kolmen sarakkeen alueelle | ||
| 5. rivin 1. solu | 5. rivin 2. solu, joka laajenee kahdelle riville | 5. rivin 3. solu |
| 6. rivin 1. solu | 6. rivin 3. solu | |
<table summary="tekstikuvaus taulukon tarkoituksesta ja sisällöstä" > <tr> <th>Ensimmäisen sarakkeen otsikko</th> <th>Toisen sarakkeen otsikko</th> <th>Kolmannen sarakkeen otsikko</th> </tr> <tr> <td>1. rivin 1. solu</td> <td>1. rivin 2. solu</td> <td>1. rivin 3. solu</td> </tr> <tr> <td>2. rivin 1. solu</td> <td>2. rivin 2. solu</td> <td>2. rivin 3. solu</td> </tr> <tr> <td>3. rivin 1. solu</td> <td>3. rivin 2. solu</td> <td>3. rivin 3. solu</td> </tr> <tr> <td colspan="3">4. rivin 1. solu joka laajenee kolmen sarakkeen alueelle</td> </tr> <tr> <td>5. rivin 1. solu</td> <td rowspan="2">5. rivin 2. solu, joka laajenee kahdelle riville</td> <td>5. rivin 3. solu</td> </tr> <tr> <td>6. rivin 1. solu</td> <td>6. rivin 3. solu</td> </tr> </table>
Korvattavia elementtejä voidaan sijoittaa lohko- tai tekstitason elementtien sisään.
Seuraavassa esimerkki img-elementin käytöstä. Esimerkin kuva on löydettävissä tästä dokumentista Dokumentin perusrakenteen yhteydestä.
<p> <img src="rakenne.jpg" alt="Dokumentin rakenne puumaisena esityksenä" title="Dokumentin rakenne" /> </p>
<address>
yliopistonopettaja <a href="mailto:tommi.j.lahtonen@jyu.fi">Tommi Lahtonen</a><br />
Sähköposti: <strong><a href="mailto:tommi.j.lahtonen@jyu.fi">tommi.j.lahtonen@jyu.fi</a></strong><br />
Kotisivu: <URL: <a class="url" href="http://www.iki.fi/hazor/">http://www.iki.fi/hazor/</a>><br />
Työhuone: <abbr title="Agora C431.2">AgC431.2</abbr><br />
Puhelin: <em>(014) 260 2746</em><br />
Fax: <em>(014) 260 2731</em></address>
Seuraavaan on kerätty listaksi tekstitason elementit.
<p>Absoluuttisella osoitteella oleva linkki kurssin <a title="Tietoverkot työvälineenä kurssin kotisivu" href="http://appro.mit.jyu.fi/2001/syksy/tietoverkot/">kotisivulle</a></p>
<p>Suhteellisella osoitteella oleva linkki kurssin <a href="../../demot/demo1/">ensimmäisiin demoihin</a></p>
<p>Linkki tämän dokumentin otsikkoon <a href="#perusrakenne">Dokumentin perusrakenne</a></p>
Otsikkoon, jonne dokumentin sisäinen linkki osoittaa, täytyy olla määriteltynä id-attribuutilla yksikäsitteinen arvo.
<h2 id="perusrakenne">Dokumentin perusrakenne</h2>
Tässä on pitkä kappale tekstiä jossa jotkin sanat ovat tärkeitä, toiset sanat ovat erittäin tärkeitä.
<p> Tässä on pitkä kappale tekstiä jossa jotkin sanat ovat <em>tärkeitä</em>, toiset sanat ovat <strong>erittäin tärkeitä</strong>. </p>
<link rel="Prev" href="../luento1/" title="Luento 1" />
<link rel="Next" href="../luento3/" title="Luento 3" />
<link rel="Start" href="http://www.mit.jyu.fi/opetus/appro/2000/syksy/laitteistot/luennot/" title="Tietoverkot työvälineenä-kurssin luennot" />
<link rel="Copyright" href="http://www.mit.jyu.fi/opetus/appro/copyright.html" title="Copyright Notice" />
<link rev="Made" href="mailto:tommi.j.lahtonen@jyu.fi" title="Tietotekniikan approbatur" />
<link rel="StyleSheet" href="http://www.mit.jyu.fi/opetus/appro/appro.css" type="text/css" media="screen" />
XHTML-dokumentin kirjoittamiseen voi käyttää haluamaansa tekstieditoria (esim. notepad) tai jotakin erityisesti XML:n kirjoittamiseen kehitettyä editoria (esim. HTML-kit).
Graafisia WYSIWYG (What You See Is What You Get) -editoreita on syytä välttää, koska XHTML ei millään tavalla kiinnitä dokumentin ulkoasua vaan ainoastaan rakenteen.