Tietolinja

Tietolinja
2/1999


PÄÄKIRJOITUS

ARTIKKELIT

XML ja verkkojulkaisujen arkistointi

Anneli Heimbürger ja Pekka Metsäranta


XML (eXtensible Markup Language) on kehitteillä oleva kansainvälinen standardi, joka on tarkoitettu rakenteisen tiedon tallennukseen ja jakeluun verkossa. Käytännön kokeiluja rajoittaa vielä tällä hetkellä XML-työkalujen saatavuus.

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