XHTML-elementit ja kurssin järjestelyt - Luento 1
- Luentotaltiointi
- Kurssin käytännön järjestelyt
- Rakenneajatus kertauksena
- XHTML-dokumentin runko
- XHTML-elementtien luokittelu
- XHTML-elementit
- Sivuston julkaiseminen
- Linkkejä
Luennolla käydään läpi kurssin järjestelyihin liittyvät asiat ja opiskellaan perus-XHTML-elementit.
Luentotaltiointi
- sovellukset01.mp3 16M
- sovellukset01.wmv 53M
- sovellukset01_xvid.avi 131M
Kurssin käytännön järjestelyt
Kts. WWW-sovellukset-kurssin etusivu.
Rakenneajatus kertauksena
Tekstidokumentissa on erilaisia sisältöä jäsentäviä osia:
- Otsikoita
- Tekstikappaleita
- Listoja
- Taulukoita
- Korostuksia
- ...
Osat muodostavat dokumentin rakenteen. Rakenteella ei määritä ulkoasua, mutta ulkoasu on järkevä määritellä suhteessa rakenneosasiin.
Miksi ei graafisia editoreja?
Miksi en käyttäisi WWW-sivujen tekemiseen esim. Frontpagea tai Dreamweaveria?
- Kiinnittävät ulkoasun tiettyihin näyttötiloihin.
- Eivät välttämättä erota ulkoasua rakenteesta, jolloin ulkoasun muokkaaminen on työlästä.
- Saattavat tuottaa tietystä selaimesta tai laajennoksesta riippuvaa koodia.
- Saattavat tuottaa epävalidia koodia.
- Tuottavat vanhaa HTML:ää tai heikosti XHTML:ää.
- Dynaamisen koodin kanssa voi olla ongelmia.
Mitä editoria sitten voi käyttää?
- Mikä tahansa kelpaa, jolla on helppo tuottaa XHTML-dokumentteja.
- Mikroluokkien koneissa on esimerkiksi
- Amaya - vapaa, monipuolinen
- XetorjEdit - monipuolinen, mutta käytettävyydessä parantamista
- HTML-kit - vaatii muutaman asetuksen säätöä XHTML:ää varten
Miksi XHTML?
Miksi WWW-sivut kannattaa tehdä XHTML-kielellä mieluummin kuin vanhalla HTML-kielellä?
- Tarkat merkkaussäännöt
- Selaimen on helpompi tulkita sivua.
- Validi dokumentti näkyy oikein.
- Ulkoasuongelman korjaaminen helpompaa kun tiedetään että ongelma ei ole rakenteessa.
- Perustuu rakenteisten dokumenttien XML-kuvauskieleen
- Helpommin ohjelmallisesti käsiteltävissä.
- Uudelleenhyödynnettävyys.
- Toimii tulevaisuudessakin.
- Useat muutkin kuvauskielet perustuvat tähän.
- Voidaan yhdistää rakenteisia dokumentteja
- MathML
- XForms
- SVG
- VoiceXML-esimerkki
- Ulkoasu erotetaan yleensä XHTML-dokumentista
- Sivustosta tulee saavutettava.
- Sivuston koko ulkoasun muokkaaminen on helppoa. Kts. esim. CSS Zen Garden
XHTML-dokumentin runko
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" >
<head>
<title>Tähän sivun otsikko</title>
<link href="tahan_tyylintiedoston_nimi.css" rel="StyleSheet" type="text/css" />
</head>
<body>
<h1>Tähän pääotsikko</h1>
<p>Tähän tekstiä...</p>
</body>
</html>
- xml-elementti kertoo käytetyn XML-standardin version.
- encoding-ominaisuus (engl. attribute) määrittelee käytetyn merkistön. iso-8859-1 tai iso-8859-15 ( €-merkki mukana) on pohjoismaissa käytettävä merkistö.
- DOCTYPE-elementti kertoo käytetyn dokumenttityypin.
- html-elementti on dokumentin juurielementti. Kaikki varsinaiset elementit tulevat tämän elementin sisälle.
- xmlns-attribuutti kertoo elementtien nimiavaruuden. Määre on aina vakio.
- xml:lang-attribuutti kertoo käytetyn oletuskielen.
- head-elementti sisältää kaiken dokumenttiin liittyvän metatiedon.
- title-elementti sisältää jonkin hyvin dokumenttia kuvaavan otsikon. Otsikon pitää olla järkevä vaikka se otettaisiin erilleen koko dokumentista.
- body-elementti sisältää kaiken varsinaisen WWW-sivulla näkyvän ja dokumentin runkoon kuuluvan informaation.
- h1-elementti on korkeimman otsikkotason elementti. Jokaisella sivulla pitäisi aina olla vain ja ainoastaan yksi h1-elementti, joka kertoo koko dokumentin pääotsikon.
- p-elementti merkitsee tekstikappaleen.
Elementit
Elementeillä on aina aloitus ja lopetus joiden välissä on varsinainen elementin sisältö. esim.
<title>Tietokone ja tietoverkot työvälineenä</title>
<title> on aloituselementti.
</title> on lopetuselementti. Lopetuselementissä on aina /-merkki
Jos elementillä ei ole sisältöä niin lopetuselementti voidaan lyhentää suoraan aloituselementtiin: <br />
Elementtien välillä ja tekstin keskellä saa olla vapaasti välilyöntejä tai rivinvaihtoja.
Ominaisuudet eli attribuutit
Elementeillä voi olla ominaisuuksia eli attribuutteja, jotka määrittelevät
jotakin elementtiin liittyviä asioita. Esim. hyperlinkin kohde määritellään
a-elementtiin tulevalla href-attribuutilla:
<a href="http://www.jyu.fi/">Jyväskylän yliopisto</a>
Dokumentin on oltava hyvin muodostettu
Tuotetun dokumentin pitää olla hyvin muodostettu (engl. well-formed), ettei selaimien tarvitse tehdä tulkitsemisessa arvailuja. Eri elementit eivät siis saa mennä keskenään ristiin eikä lopetusosia saa unohtaa.
Väärin
<p>Tuotetun <strong>dokumentin pitää olla
hyvin muodostettu
(<em>engl. well-formed</em>).</p></strong>
Oikein
<p>Tuotetun <strong>dokumentin pitää olla
hyvin muodostettu
(<em>engl. well-formed</em>)</strong>.</p>
Dokumentin pitää olla validi
Dokumentin pitää olla myös validi (engl. valid) eli sen rakenne pitää olla jonkin dokumenttityypin mukainen. Dokumenttityyppi määrää mitä elementtejä voi käyttää, mitkä elementit saavat sijaita minkäkin elementtien sisällä ja mitä attribuutteja kuuluu millekin elementille jne.
Dokumentin voi validoida W3C:n validaattoripalvelulla. Firefoxin Web Developer Toolbarista löytyy suoraan valinta tällä.
XHTML-elementtien luokittelu
Elementtejä voi luokitella muunmuassa seuraavan jaottelun mukaan:
- Lohkotason elementit (block level)
- Esimerkiksi kappaleet, otsikot ja listat
- Tekstitason elementit (inline level)
- Esimerkiksi tärkeäksi merkityt tekstipätkät
- Korvattavat elementit (replaced)
- Esimerkiksi kuvat ja muut objektit
Sivulla olevat erityyppiset elementit saat näkyviin esimerkiksi asentamalla Firefoxiin Web developer-pluginin tai käyttämällä Mozillan DOM Inspectoria.
Dokumentin rakenne
- Dokumentti muodostaa puumaisen, hierarkisen rakenteen.
- Dokumentin puurakenteen saa esille seuraavasti:
- XetorjEdit-editorin Structure Browserista
- Firefox-selaimen DOM Inspectorilla. DOM Inspector löytyy Firefoxista valikosta Tools | DOM Inspector mikäli se on valittu asennuksessa.
- Amaya:ssa dokumentin rakenteen saa näkyviin View | Show structure.


XHTML-elementit
Seuraavassa on lueteltuna XHTML:n peruselementit, joita tarvitaan WWW-dokumenttien kirjoittamisessa.
Elementtejä on käytetty luentoesimerkkisivulla.
Yleisimmät elementit
http://appro.mit.jyu.fi/doc/www/xhtml/
Muita elementtejä
| Elementti | Selite | Engl. | Esimerkki |
|---|---|---|---|
| dl | Määritelmälista | definition list | |
| dt | Määriteltävä termi | definition term | |
| dd | Termin määrittely | definition description | |
| dfn | Termien määritelmät tekstissä | definition |
Dian otsikoissa voi käyttää <dfn title="Kirjaisin, jossa kirjaimien avoimien käyrien päät on päätetty lyhyellä kohtisuoralla viivalla">päätteellistä</dfn> kirjasinta. |
| abbr | Kirjain kerrallaan lausuttavat lyhenteet | abbreviation | <abbr title="Cascading Style Sheets">CSS</abbr> |
|---|---|---|---|
| acronym | Sanana käytettävä lyhenne | <acronym title="North Atlantic Treaty Organization">NATO</acronym> |
| q | Viittaus | quote | cite="osoite" |
|---|---|---|---|
| blockquote | Lohkolainaus |
<blockquote cite="http://www.useit.com/alertbox/991114.html"> <p> <em>Web design is easy:</em> If you are thinking about how to design a certain page element, all you have to do is to look at the twenty most- visited sites on the Internet and see how they do it. </p> </blockquote> |
| code | Tietokonekoodi | <code>System.out.println("Muuli")</code> | |
|---|---|---|---|
| kbd | Käyttäjän syöte | keyboard | <kbd>[testi@kaarna www]$ ls -la</kbd> |
| samp | Ohjelman vaste | sample | <samp>Null pointer exception.</samp> |
| var | Muuttuja | variable | <var>$_SERVER['PHP_SELF']</var> |
Otsikkotiedot
Metatieto - meta
meta-elementillä määritellään dokumenttiin liittyvää metatietoa
<meta name="description"
content="Tietoverkot työvälineenä - Tietotekniikan approbatur-kurssi Jyväskylän
yliopistossa tietotekniikan laitoksen ja avoimen yliopiston yhteisopetuksena " />
<meta name="keywords"
content="tietotekniikka, jyväskylän yliopisto, avoin yliopisto,
tietotekniikan laitos, informaatioteknologia, opetus, kurssi" />
<meta name="author" content="Tommi Lahtonen" />
Linkkielementti - link
- link-elementti saa esiintyä vain head-elementin sisällä.
- link-elementille määritellään dokumentin suhde muihin dokumentteihin
<link title="Oletustyyli" rel="StyleSheet" href="/appro2003.css" type="text/css" media="all" />
<link rel="icon" href="/favicon.ico" type="image/ico" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rev="Made" href="http://www.iki.fi/hazor/" title="Tommi Lahtonen" />
<link rel="Copyright" href="/copyright.html" title="Copyright Notice" />
<link rel="Prev" href="../luento1/" title="Edellinen" />
<link rel="Next" href="../luento3/" title="Seuraava" />
<link rel="Start" href="../../" title="Tietoverkot työvälineenä" />
<link rel="Contents" href="../" title="Sisällys" />
<link rel="Parent" href="../" title="Edellinen taso" />
<link rel="First" href="../luento1/" title="Ensimmäinen" />
<link rel="Last" href="../luento10/" title="Viimeinen" />
<link rel="Search" href="/haku/" title="Haku" />
Sivuston julkaiseminen
- Siirretään koko hakemistorakenne WWW-palvelimelle.
- SSH:lla voidaan ottaa yhteyttä UNIX-palvelimeen people.cc.jyu.fi
- Julkiset sivut tallennetaan www-linkin alle.
Tällöin sivut löytyvät osoitteesta:
http://people.cc.jyu.fi/~käyttäjätunnus/
- Jos www-hakemistossa on jonkin alihakemisto, niin siihen viitataan osoitteella:
http://people.cc.jyu.fi/~käyttäjätunnus/alihakemiston_nimi/
- Apache-palvelimilla hakemistosta tarjotaan oletuksena tiedostoa nimeltä index.html


