XML ja WWW
- Harjoitustyö (toteutusosuus)
- Mikä on XML?
- Nimiavaruudet
- Scalable Vector Graphics (SVG)
- MathML
- RSS (Really Simple Syndication)
- Lisätietoa
Tällä luennolla tutustutaan XML:n käyttämiseen WWW:ssä. Tutustutaan yleistyviin WWW:ssä käytettäviin XML-pohjaisiin kieliin. Lisäksi käydään läpi harjoitustyön toteutusosuutta.
Harjoitustyö (toteutusosuus)
Mikä on XML?
Extensible Markup Language (XML) on yksinkertainen ja joustava metakieli, jolla määritellään rakenteellisia merkkauskieliä.
XML-pohjaisen dokumentin on oltava validi, eli sen on noudatettava jotakin dokumenttityyppiä. Dokumentin kieliopin määrittää:
- DTD (Document Type Definition)
- DTD määritellään omalla kielellään.
- DTD:n avulla voi tarkistaa XML-tiedostojensa oikeellisuuden.
- XHTML 1.0 Strict
- XHTML 1.1
- XHTML Basic
- XML Schema
- Skeema (schema) on DTD:tä vastaava malli, jolla kuvataan dokumentin rakenne.
- Skeemat määritellään XML:llä.
XML-dokumentin on oltava hyvin muodostettu (well-formed). Vertaa esimerkiksi vanhempien HTML-versioiden tagisoppaan (engl. tagsoup):
XHTML
XHTML on XML-sovellus. XHTML on merkkauskieli.
Semanttinen Web
Jos haemme esimerkiksi tietoa WWW:stä, niin joudumme usein turvautumaan hakukoneisiin. Hakukoneet kaivavat ja järjestävät tekstitietoa sanaesiintymien ja linkkikytköksien perusteella, mutta eivät kuitenkaan ymmärrä tiedon merkitystä. Millaisia tuloksia saamme, jos kysymme hakukoneelta esimerkiksi mistä saan halvimmalla 32" laajakuva-tv:n? Hakukone ei luultavastikaan ymmärrä, että sivulta löytyvä luku on hinta tai tuotekoodi on televisio.
Semanttinen Web on normaalin WWW:n "laajennos", jossa kaikki tieto on yhtä hyvin ihmisen kuin koneenkin ymmärrettävissä. Tämä vaatii sen, että tiedolle annetaan formaalissa muodossa sen merkitys.
Semanttinen Web edellyttää riittävää määrää metatietoa eli dokumentin kuvailutietoa muodossa, jonka myös tietokone ymmärtää.
Metatieto voi olla esimerkiksi:
- dokumentin sisältöä kuvaavaa,
- dokumentin rakenneosia kuvaavaa,
- dokumentin hallintaan liittyvää,
- dokumentin säilytykseen liittyvää,
- dokumentin käyttöön ja käyttäjiin liittyvää,
- dokumenttien suhteisiin liittyvää tai
- dokumenttiin liittyvää teknistä tietoa.
Merkityksien ja tiedon suhteiden kuvailemiseksi on kehitetty RDF- ja OWL-kielet, mutta perehdymme vain lyhyesti XHTML:n tarjoamiin metatietoa kuvaileviin elementteihin:
meta
meta-elementillä XHTML:ssä määritellään dokumenttiin liittyvää metatietoa. meta-elementti laitetaan head-elementin sisään.
<meta name="description"
content="WWW-julkaiseminen - Tietotekniikan kurssi Jyväskylän yliopistossa
tietotekniikan laitoksella" />
<meta name="keywords"
content="tietotekniikka, jyväskylän yliopisto, tietotekniikan laitos,
informaatioteknologia, opetus, kurssi" />
<meta name="author" content="Antti Ekonoja" />
Linkkielementti - link
- link-elementti saa esiintyä vain head-elementin sisällä.
- link-elementillä määritellään dokumentin suhde muihin dokumentteihin.
<link title="Oletustyyli" rel="StyleSheet" href="/appro2008.css" type="text/css" media="all" />
<link rel="icon" href="/favicon.ico" type="image/ico" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="Copyright" href="/copyright.html" title="Copyright Notice" />
<link rel="Prev" href="../luento10/" title="Edellinen" />
<link rel="Next" href="../luento12/" title="Seuraava" />
<link rel="Start" href="../../" title="WWW-julkaiseminen" />
<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="../luento12/" title="Viimeinen" />
<link rel="Search" href="/haku/" title="Haku" />
Lisätietoja ja esimerkkejä
- Semantic Web Activity
- MuseoSuomi
- Semanttinen Web ja oppiminen
- Microsummaries - "Dynaaminen title"
Nimiavaruudet
Nimiavaruuksien avulla voidaan samassa dokumentissa käyttää useampaa erilaista dokumenttityyppiä ilman, että ne sotkevat toisiaan.
- Nimiavaruudet - W3C Suomen toimisto
- MathML ja XHTML
- XHTML-dokumentti, jossa nimiavaruus on määritelty
- XHTML-dokumentti, jossa nimiavaruutta ei ole määritelty
Scalable Vector Graphics (SVG)
SVG on vektorigrafiikan määrittelyyn tarkoitettu kieli.
Esimerkkejä:
- SVG+MathML-esimerkki - vaatii esim. Firefox 3:sen tai Opera 11:sen (Opera 10 osaa näyttää SVG-osuuden)
- Mozilla SVG samples - toimivat myös Opera 10:llä
- hazor1e.xml (toimii Firefoxilla ja Operalla)
Lisätietoa:
MathML
MathML on matemaattisen ja tieteellisen tekstin tuottamiseen tarkoitettu kieli. MathML perustuu XML:ään samalla tavalla kuin XHTML:kin.
MathML:ää tukee selaimista tällä hetkellä Firefox ja IE 7-8 (ainakin osittain). Operankin tuki on jo melko hyvä versiossa 11, mutta vielä versiossa 10 matemaattiset merkinnät eivät pääsääntöisesti näy ihan oikein. Muita MathML-ohjelmistoja löytyy jo paljon.
MathML jakautuu kahteen osaan:
Esimerkkejä:
- SVG+MathML-esimerkki - vaatii esim. Firefox 3:sen tai Opera 11:sen (Opera 10 osaa näyttää SVG-osuuden)
- Esimerkki - toimii Firefox ja Opera 11 -selaimilla
- W3C MathML Presentational -esimerkki - toimii Firefoxilla ja IE 7-8:lla, Operalla (versiot 10-11) osittain
- MathML Basics
RSS (Really Simple Syndication)
RSS on XML-sovellus, jonka avulla on helppo jakaa uutisia tai mitä tahansa tietoa.
WWW-sivuston uutiset tai muut muutokset listataan RSS-tiedostossa, jonka sisältöä seurataan RSS-formaattia ymmärtävällä ohjelmalla.
- RSS 2.0 (Really Simple Syndication) Specification
- RSS 1.0 (RDF Site Summary) Specification
- RSS 0.91 (Rich Site Summary) Specification
- RSS:n eri versiot
- Sage - Firefoxin RSS-lisäosa
Käyttäjien kommentit