XML (eXtensible Markup Language) on kehitteillä oleva kansainvälinen standardi,
joka on tarkoitettu rakenteisen tiedon tallennukseen ja jakeluun verkossa.
XML on kehitetty SGML-standardista, joka on kansainvälisen standardoimisjärjestön ISO:n
hyväksymä dokumenttirakenteiden määrittely- ja esitystapakieli. XML tarjoaa uusia,
mielenkiintoisia mahdollisuuksia verkkosovelluksissa, erityisesti elektronisten
verkkojulkaisujen arkistoinnin näkökulmasta. Käytännön kokeiluja rajoittaa vielä tällä
hetkellä XML-työkalujen saatavuus.
XML-standardit järjestykseen
Extensible Markup Language (XML) on verkkoympäristöön kehitteillä
oleva rakenteisen tiedon määrittelykieli. XML:n määritys
sai standardin statuksen alkuvuodesta 1998. Lisäksi XML:lle on kehitteillä useita sitä tukevia tai laajentavia määrityksiä.
Seuraavassa selvitetään
standardin käsitettä ja sitä, kuka on XML:n taustalla. Sitten kuvataan XML:ään liittyviä
liitännäismäärityksiä tavalla, josta lukija voisi
hahmottaa mihin kutakin määritystä tarvitaan. Lopuksi käsitellään XML:ää verkkojulkaisujen arkistoinnin näkökulmasta.
Standardeista
Sanasta standardi tulee ehkä mieleen jotakin normaalia, vakioitua,
tietyt vaatimukset täyttävää tai yleisesti hyväksyttyä.
Tietotekniikassa standardin voidaan katsoa tarkoittavan lähinnä
kahta viimeksi mainittua eli jokin tekniikka (esim. tiedon tallennustapa)
täyttää tietyt vaatimukset ja on yleisesti käytössä.
Standardien merkitys korostuu sitä enemmän, mitä suurempi
osa tietokoneista on yhdistetty laajoilla verkoilla toisiinsa. Jos kaikki
noudattavat samaa toimintatapaa, säästetään kustannuksissa
ja päästään toimivampaan kokonaisuuteen.
Standardin asettaa aina jokin taho. Mitä arvovaltaisempi ja asiantuntevampi
asettaja on tai mitä suurempaa joukkoa se edustaa, sen varmemmin tämän
kehittämää standardia tullaan käyttämään.
Se, onko kehitelty tapa käyttökelpoisempi kuin jokin toinen,
ei aina takaa, jos ei estäkään, standardin leviämistä.
World Wide Web Consortium (W3C) on vuonna 1994 perustettu kansainvälinen
teollisuusyritysten ja muiden yhteisöjen yhteenliittymä, jonka
tarkoituksena on johtaa Internetin kehitystä. W3C:ssä on tällä
hetkellä noin 300 jäsentä, mukana muun muassa maailman johtavat
tietotekniikka- ja telealan yritykset. WWW:n kehitystä W3C edistää
muun muassa julkaisemalla standardeja, joita se kutsuu suosituksiksi (Recommendation).
Nämä suositukset ovat määrityksiä (Specification),
joissa kuvataan säännöt jonkin asian tekemiseksi. Määrityksen
tie suositukseksi alkaa W3C:ssä työkappaleella (Working Draft),
josta mahdollisesti tulee suositusehdotus (Proposed Recommendation) ja
sitten edelleen mahdollisesti suositus. W3C hoitaa myös XML:n standardointia.
Extensible Markup Language ja muita siihen liittyviä määrityksiä
Extensible Markup Language eli XML on määrittelykieli, jonka
avulla tallennetaan ja siirretään rakenteista tietoa verkkoympäristössä.
Tällä hetkellä on voimassa helmikuussa 1998 W3C:n julkistama
XML 1.0 Recommendation. XML kuten WWW:ssä käytettävä
HTML (Hypertext Markup Language) perustuu ISO-standardiin nimeltään
SGML (Structured Generalized Markup Language). HTML:stä XML:n erottaa
juuri mahdollisuus koodata rakenteista tietoa paremmin ja SGML:stä
taas sen helpompi käyttö ja parempi soveltuvuus verkossa tapahtuvaan
tiedon jakeluun.
Koska XML ei sinänsä sisällä määrityksiä
esimerkiksi tiedon muotoilulle tai asettelulle tai siihen, miten dokumenteissa
viitataan toisiin dokumentteihin, on XML:n ympärille kehitetty useita
muita sitä tukevia tai laajentavia määrityksiä. Osa
näistä määrityksistä on W3C:n suosituksia, osa
on suositusehdotuksia ja osa on työkappaleita.
Eräs tapa hahmottaa XML:n ympärille muodostuneita tai muodostumassa
olevia standardeja on jaotella niitä sen mukaan, minkälainen
funktio niillä on XML-muodossa tallennettuun dokumenttiin nähden.
Tällaisia funktioita ovat esimerkiksi XML-dokumenttien esittäminen
ja hallinta. Useat määritykset ovat kuitenkin XML-sovelluksia,
jotka on kehitetty jonkin tietyn alueen tai alan tarpeisiin. Eräs tällainen
on Mathematical Markup Language (MathML), jolla voidaan kuvata matemaattisissa kaavoissa
käytettyjä merkintöjä. Taulukko 1 esittää
eräiden keskeisten W3C:ssä kehitteillä olevien standardien
luokittelua edellä mainituin perustein. Taulukosta selviää
myös määritysten standardointiaste.
Taulukko 1. XML:n liitännäismäärityksiä W3C:ssa.
Standardointiaste |
Liittyy esittämiseen |
Liittyy
tiedonhallintaan |
XML-sovellutus |
Suositus |
|
DOM
(1.10.98) Namesapces in
XML (14.1.99) RDF Model and Syntax (22.2.99) |
SMIL
(15.6.98) MathML
(7.4.98) |
Ehdotus
suositukseksi |
|
RDF
Schema (3.3.99) |
|
Työkappale |
XSL
(16.12.98) |
XLink
(3.3.98) Xpointer
(3.3.98) |
|
Taulukosta huomataan, että vasta osa määrityksistä
on saavuttanut varsinaisen standardin statuksen ja osa on vielä
työn alla. Taulukossa on siis lueteltu sellaiset XML-hankkeet, jotka
W3C on ottanut käsiteltäväkseen. XML:ään liittyviä
muita määrityksiä, jotka eivät ole vielä saavuttaneet
W3C:ssä edes työkappaleen statusta on lukuisia. Myös muilla
tahoilla (yksittäisillä yrityksillä tai yritysryhmillä)
on runsaasti hankkeita, jotka liittyvät jollakin tapaa XML:n hyödyntämiseen.
Seuraavassa on lyhyt kuvaus kustakin taulukossa lyhenteenä esiintyvästä
määrityksestä.
Extensible Stylesheet Language eli XSL
XML-määritys ei sisällä muotoiluun liittyviä
asioita. Kuitenkin tieto on esitettävä ihmiselle jollakin tavalla,
usein vielä erilaisena eri medialla (esim. näyttö, paperi).
XSL on tyylitiedostojen määrittelyyn tarkoitettu kieli.
XSL sisältää säännöt XML-dokumentin muuttamiseksi
esitettävään muotoon sekä sanaston, joka määrittää
muotoilun semantiikan. XSL-tyylitiedoston (joka on dokumentti- tai dokumenttiluokkakohtainen)
määrityksillä kuvataan säännöt, joilla dokumentti
muunnetaan sellaiseksi esimerkiksi XML-dokumentiksi, jossa käytetään
edellä mainittua muotoilusemantiikan sanastoa. Näin syntynyt
uusi dokumentti on sitten valmis esitettäväksi ohjelmalla, joka
ymmärtää XSL-kielen muotoilusanaston. XSL:n säännöillä
XML-dokumentti voidaan itse asiassa muuntaa minkälaiseksi dokumentiksi
tahansa, esimerkiksi HTML-dokumentiksi.
Synchronized Multimedia Integration Language eli SMIL
SMIL-määritys on tarkoitettu itsenäisten multimediaobjektien
(esim. ääni, kuva, video) synkronointiin multimediaesityksessä.
SMIL-dokumentti on myös XML-dokumentti eli se on XML-sovellus. SMILillä
voidaan kuvata objektien esittämisen alkaminen ja päättyminen
sekä niiden asettelu ruudulla. Lisäksi SMIL:n avulla multimediaobjekteihin
voidaan liittää hyperlinkkejä.
Mathematical Markup Language eli MathML
Useilla aloilla on omat merkintätapansa ja esimerkiksi matemaattisten
kaavojen esittäminen on perinteisesti ollut mm. tekstinkäsittelyohjelmassa
hankalaa. MathML on matemaattisten merkintöjen kuvaamiseen
tarkoitettu XML-sovellus. MathML sisältää määritykset,
jotka kattavat sekä kaavan rakenteen että sen sisällön.
MathML-dokumentti on samalla myös XML-dokumentti. Alla on kaava ja
sitä vastaten kaksi MathML-esitystä, joista ensimmäinen
perustuu kaavan rakenteeseen ja toinen sisältöön.
Kaava:
(a + b)2
Kaava rakenteen mukaisella MathML:llä:
<msup>
<mfenced>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
<mn>2</mn>
</msup>
Kaava sisällön mukaisella MathML:llä:
<apply>
<power/>
<apply>
<plus/>
<ci>a</ci>
<ci>b</ci>
</apply>
<cn>2</cn>
</apply>
Document Object Model eli DOM
DOM määrittelee rakenteisten dokumenttien ohjelmointirajapinnan.
Ohjelmointirajapinta tarkoittaa sääntöjä, joita noudattaen
ohjelmat voivat käsitellä dokumentin osia. Näin voidaan
kirjoittaa ohjelmia (tai skriptejä), joilla voidaan etsiä dokumentin
rakenteen osia tai muuntaa niitä dynaamisesti. Esimerkkinä voi
olla sisällysluettelon muodostaminen dynaamisesti siten, että
ohjelma etsii sisällysluettelon muodostavat tekstin elementit (esim.
otsikot, jotka on merkitty jollakin tavalla) ja muodostaa niistä sisällysluettelon.
DOM määrittelee toiminnot, joilla esimerkiksi sisällysluettelon
luonti on mahdollista.
XML Linking Language eli XLink
Verkottuvassa ympäristössä myös dokumentit verkottuvat.
XLink määrittelee miten XML-dokumentissa kuvataan kahden tai
useamman dokumentin välinen linkki. Linkki on yksinkertaisimmillaan
samantapainen kuin mihin HTML:ssä on totuttu. XLink sisältää
kuitenkin myös paljon monipuolisemmat mahdollisuudet linkkien määrittelemiseen.
Esimerkiksi linkit voivat sijaita erillisessä tiedostossa, mikä
helpottaa niiden ylläpitoa. Myös kaksisuuntaiset linkit ovat
mahdollisia, mikä mahdollistaa sen, että dokumentti ”tietää”
mitkä dokumentit osoittavat siihen.
XML Pointer Language eli XPointer
Viitattaessa linkillä toiseen dokumenttiin, usein kohteena on
jokin tietty dokumentin osa. XPointer on kieli, joka sisältää
säännöt sille, miten viitataan XML-dokumentin sisäiseen
rakenteeseen. XPointer siis täydentää XLink-standardia
ja voidaan käyttää osana linkkiä. Linkin määrityksessä
yleisesti tarvitaankin sekä XLinkiä että XPointeria.
Namespaces in XML
Eräs XML:n mahdollistama etu on tiedon modulaarisuus: samassa dokumentissa voi olla eri ohjelmistoilla tuotettuja osia.
Näiden osien prosessointi voi perustua tiettyjen, nimeltään etukäteen määriteltyjen elementtien käsittelyyn.
Toisaalta dokumentin muissa osissa saattaa esiintyä saman nimisiä elementtejä, mikä voi johtaa
elementtien tunnistamisongelmiin. Namespaces in XML on määritys, jossa kuvataan, miten XML-dokumentissa käytetään jossakin toisessa
dokumentissa kuvattujen elementtien nimiä. Tämä mahdollistaa yhtä dokumenttia laajemman "nimiavaruuden" (namespace).
Resource Description Framework eli RDF
Tiedon lisääntyessä verkossa valtavasti tarvitaan säännöt,
joilla tietoa kuvaillaan. Tarvitaan siis tietoa tiedosta eli metadataa.
RDF:ssä määritetään säännöt WWW:n
resursseja kuvaavan metadatan esittämiseen, käsittelemiseen
ja muodostamiseen. RDF:ää käsittelee kaksi eri määritystä:
RDF Model and Syntax Specification ja RDF Schema Specification. Edellinen
antaa säännöt, miten metadata esitetään ja miten
sitä käsitellään. Jälkimmäinen taas paneutuu
siihen, kuinka metadata muodostetaan jollekin tietylle sovellusalueelle.
Verkkojulkaisujen arkistointi
Jyväskylän yliopiston digitaalisen median maisteriohjelmassa on tutkittu
XML:n käyttöä
elektronisten dokumenttien arkistoinnissa sekä tehty
käytännön kokeiluja XML-työkaluilla. Lisäksi aiheesta on valmistunut pro gradu -tutkielma
(Leinonen, A., XML-standardiperhe ja elektronisten dokumenttien arkistointi.
Pro gradu -tutkielma, Tietojenkäsittelytieteiden laitos, Jyväskylän yliopisto, 1998) ja
toinen valmistuu keväällä 1999. Seuraava osuus perustuu Anne Leinosen laatimiin raportteihin.
Verkkojulkaisut voivat olla painetun julkaisun kaltaisia staattisia julkaisuja verkossa
tai ne voivat olla dynaamisia yhdistelmädokumentteja. Verkkojulkaisun dynaamisuus tarkoittaa
sitä, että julkaisun osat voivat muuttua. Yhdistelmädokumentti puolestaan koostuu eri
tietokokonaisuuksista, jotka on tallennettu eri paikkoihin.
Verkkojulkaisun sisältö, rakenne ja esitystapa voidaan erottaa toisistaan.
Tämän lisäksi verkkojulkaisu voi sisältää linkkejä. Linkkien osoittamien resurssien sijainti
saattaa muuttua hyvinkin usein. Resurssit ovat joskus sellaisia, että ne vaativat
erilaisia ehtoja avautuakseen. Tällaisia ehtoja voivat olla esim. luvat, maksut, allekirjoitus.
Arkistoinnilla tarkoitetaan tässä yhteydessä julkaisujen pitkäaikaista säilytystä
digitaalisessa muodossa niin, että julkaisut ovat tarvittaessa käytettävissä nyt ja
tulevaisuudessa. Verkkojulkaisujen arkistoinnissa on huomioitava monia verkkojulkaisuihin
itseensä liittyviä tekijöitä. Miten arkistoida julkaisun erotettu sisältö, rakenne ja
esitystapa. Joudutaan myös miettimään, pitääkö ja voiko linkkien osoittamat resurssit
arkistoida. Jos niitä ei arkistoida, onko silloin julkaisun arkistoinnilla ilman
linkkejä merkitystä. Linkkien arkistoiminen ja ylläpito on hankalaa mm. resurssien
sijainnin muuttumisen ja mahdollisten avautumisehtojen vuoksi.
Etsittäessä menetelmää verkkojulkaisujen arkistoimiseksi on huomioitava sekä verkkojulkaisujen
erikoispiirteet että verkkojulkaisujen tehokasta löytymistä helpottavan metatiedon määrittely.
Verkkojulkaisut voidaan arkistoida XML:n avulla tai XML-dokumentteina.
Kun verkkojulkaisut arkistoidaan XML:n avulla, XML:ää käytetään julkaisujen metatiedon
merkkaamiseen ja tallentamiseen. Muuten julkaisut säilytetään siinä muodossa, missä ne on
tallennettu. Jos verkkojulkaisut tallennetaan XML-dokumentteina, joudutaan miettimään,
tallennetaanko kaikki julkaisut osat (rakennemäärittely, sisältö, merkkaukset, linkit, tyyli
ja metatieto) erikseen.
XLink-linkkistandardiehdotuksen mukaisesti linkit voidaan ryhmitellä ja tallentaa julkaisusta
erilleen. Näin niiden hallinta onkin yksinkertaisempaa kuin jos ne tallennettaisiin mukaan
julkaisuihin. Jos julkaisun sijainti muuttuu, voidaan muuttaa myös siihen viittaavat linkit
silloin, kun linkit on tallennettu erilleen.
XSL-tyylistandardiehdotuksen mukaan määritelty ulkoasu on mahdollista arkistoida erillään
julkaisun sisällöstä. Tyylistandardin avulla voidaan määritellä alkuperäisestä julkaisusta
uusia julkaisuja, joiden esitystapa ja/tai ulkoasu poikkeavat alkuperäisestä sisällön säilyessä
ennallaan. Haluttaessa voidaan arkistoida useita ulkoasuversioita. XML-standardiehdotuksen
käyttökelpoisuutta arvioitaessa tuo XSL siihen yhden tärkeä ominaisuuden.
Tyylistandardiehdotus on kehitetty erityisesti verkossa olevien XML-dokumenttien näytöllä esittämistä varten.
XML monipuolistaa myös tekijänoikeuksien hallintaa. XML-dokumenteissa voidaan erottaa
mahdollinen rakennetyyppimäärittely, varsinainen dokumentin sisältö, merkkausmerkinnät,
linkit ja ulkoasumääritykset toisistaan. Tekijänoikeudet kaikille näille eri osille on
määriteltävissä ja sovittavissa.
XML-standardiehdotuksella on arkistoinnin kannalta myös se etu, että merkistö on
kiinnitetty UNICODE-standardiin. Näin vältytään merkistön erilliseltä valinnalta, ja
eri kielillä tuotetut dokumentit ovat myös kaikkialla ymmärrettävissä.
Yhteenvetona XML-työkaluista voidaan todeta, että tällä hetkellä julkisesti saatavina olevat
ohjelmat ovat melko hankalia käyttää. Niiden käyttöliittymät ovat kehittymättömiä ja
ohjelmat toimivat puutteellisesti. Ohjelmien käyttö vaatii hyvää perehtyneisyyttä
XML-standardiehdotukseen. Käytännön kokeilut osoittivat XML:n käytön olevan vielä hyvin
ohjelmasidonnaista. Yhdellä ohjelmalla voidaan käsitellä XML-dokumentteja tavalla,
mikä ei toisella ohjelmalla olekaan mahdollista. Automaattinen muunnos toisesta
tiedostomuodosta XML-muotoon on hankalaa. Mutta lienee selvää,
että XML-ohjelmistotarjonta kehittyy hyvin nopeasti. Tällöin päästään käytännössä
kokeilemaan XML:n tarjomia mahdollisuuksia.
Anneli Heimbürger, erikoistutkija
Digitaalisen median maisteriohjelma
Jyväskylän yliopisto
Email: anneli@infoma.jyu.fi
|
Pekka Metsäranta, pro gradu -tutkija
Digitaalisen median maisteriohjelma
Jyväskylän yliopisto
Email: pekmets@tukki.jyu.fi |
LÄHTEET
Document Object Model (DOM) Level 1 Specification
Extensible Stylesheet Language
Leinonen, A., XML arkistoinnissa ja käytännön kokeiluja XML-työkaluilla.
Leinonen, A., XML:n kayttö verkkosovelluksissa.
Leinonen, A., XML-standardiperhe ja elektronisten dokumenttien arkistointi.
Pro gradu -tutkielma, Tietojenkäsittelytieteiden laitos, Jyväskylän yliopisto, 1998
Mathematical Markup Language 1.0 Specification
Namespaces in XML
Resource Description Framework, Model and Syntax Specification
Resource Description Framework, Schema Specification
Synchronized Multimedia Integration Language 1.0 Specification
The XML.commune
World Wide Web Consortium
XML Linking Language (XLink)
XML Pointer Language
Tietolinja
2/1999