Luku 5 SGML, XML ja rakenteiset dokumentit

Sisällys
5.1 Pari sanaa tekstinkäsittelystä
5.2 SGML:n historia
5.3 SGML:n rakenne ja käyttö
5.4 SGML-esittely
5.5 Dokumentin tyyppimäärittely
5.6 SGML-koodattu dokumentti
5.7 SGML valtionhallinnossa
5.8 SGML:n “suuret” sovellukset
5.9 HTML ja World Wide Web
5.10 XML, laajennettava merkintäkieli

Dokumenttien pitkäaikaisessa hyväksikäytössä on välttämätöntä varautua sekä tietovälineiden että tietokoneohjelmien jatkuviin muutoksiin. Aineisto on aika-ajoin kopioitava uudempaa teknologiaa edustaville tietovälineille ja tämän lisäksi aina tarpeen tullen muunnettava kokonaan toisenlaiseen tallennusmuotoon. Mitä nopeammin teknologia kehittyy, sitä lyhytikäisempiä ovat tietovälineet ja osittain myös tallennusmuodot. Papyruskääröt ja savitaulut ovat säilyttäneet niihin “tallennetun” informaation käyttökelpoisessa muodossa vuosituhansia. On mahdollista, että tietotekniikka ei koskaan tule kehittämään tietovälinettä, joka olisi yhtä pitkäikäinen.

Tietojenkäsittelyssä käytettävien laitteiden osalta ongelman luonteesta saa jonkinlaisen mielikuvan, kun palauttaa mieliin mitä kaikkea tähän mennessä on jo ehtinyt tapahtua. Ensimmäiset tietovälineet olivat reikänauha (eri leveyksiä) ja reikäkortti (eri kokoja). Niiden käsittelyyn sopivia laitteita ei ole ollut käytössä enää pitkiin aikoihin. Seuraavaksi tulivat avokeloilla olevat magneettinauhat (useita eri tiheyksiä ja nauhaformaatteja) ja isot kiintolevyt sekä vaihtolevypakat. Magneettinauhojen viimeinen sukupolvi on parhaillaan poistumassa käytöstä. Muutaman vuoden kuluttua ei enää mistään löydy avokelanauhoja lukevia laitteita. Isot levy-yksiköt ovat myös poistuneet käytöstä. Nauhakaseteista on käytössä useita keskenään yhteensopimattomia malleja (ainakin TK, DLT, DAT, QIC ja Exabyte). Niistä TK ja 4 mm:n DAT-nauha poistunevat ensimmäisenä käytöstä. Myös vanhemmat tietolevyt ovat jo poistuneet käytöstä (floppy disk, kaksi eri kokoa).

Tietovälineiden vanheneminen on täysin väistämätön ongelma — se on osa teknologian vääjäämätöntä jatkuvaa kehityskulkua. Ongelma on kuitenkin käsitteellisessä mielessä helposti ymmärrettävissä ja käytännössä siedettävällä työmäärällä hallittavissa. Tallennusmuotoja koskeva ongelma on jo sen sijaan paljon vaikeammin lähestyttävissä. Ei ole mitenkään itsestään selvää, mihin seikkoihin pitäisi ensisijaisesti kiinnittää huomiota pitkäaikaisen käytettävyyden turvaamiseksi.[1]

Ongelmaa on lähestytty kahdesta, lähes vastakkaisesta suunnasta. (1) Dokumentit tallennetaan niin, että ne säilyttävät mahdollisimman tarkasti paperidokumenttien ulkoasun. Taulukkojen, lomakkeiden ja kuvien osalta tämä lähestymistapa on helposti perusteltavissa. (2) Toinen lähestymistapa kiinnittää huomionsa dokumentin rakenteeseen ja sisältöön. Dokumentti tallennetaan niin, että sen yleinen rakenne ja eri rakenneosat pystytään tunnistamaan ja erottamaan. Raakateksti tallennetaan kummassakin ratkaisussa mahdollisuuksien mukaan sellaisenaan.

Dokumenttien ulkoasun kuvaamisessa voidaan käyttää ISO:n ODA-standardia (ISO 8613)[2]. ODA:n avulla voidaan kuvata tekstilohkojen ja kuvien sijainti paperilla, taulukkojen sijainti ja ulkoasu, jopa teksteissä käytetyt kirjasinlajikkeet. Standardia on sovellettu organisaatioiden välisessä määrämuotoisten dokumenttien käsittelyssä ja siirrossa. Lähestymistapa ei kuitenkaan ole riittävän monipuolinen dokumenttien pitkäaikaisen hyväksikäytön kannalta. Parempi ratkaisu on löydettävissä dokumenttien rakenteen kuvaamisesta.

Rakenteen kuvaamista varten on kehitetty ISO:n SGML-standardi (ISO 8879).[3] Standardi on laaja ja käsitteellisesti hiukan vaikeasti ymmärrettävissä. SGML on tavallaan metatason standardi. Se ei vielä sellaisenaan määrittele mitään merkintäkieltä — nimestään huolimatta. SGML on yleistetty merkintäkieli, se on pikemminkin kielioppi, jonka avulla voidaan määritellä lukemattomia hyvinkin erilaisia merkintäkieliä. WWW:n dokumenttien koodaamisessa käytetty HTML on yksi SGML-standardin mukaisista merkintäkielistä. Yritän jäljempänä selventää tätä asetelmaa.

5.1 Pari sanaa tekstinkäsittelystä

Mutta palataan ensin hiukan taaksepäin ja tarkastellaan lyhyesti tekstinkäsittelyn nykyistä tilannetta. Jokainen mikronkäyttäjä tuntee jonkin tekstikäsittelyohjelman. Useimmiten käytössä on joko WP tai Word. Matemaatikot ja Unix-harrastajat käyttävät sellaisia ohjelmia kuten TeX ja LaTeX. Valtion virkamiehet ja muut heikompiosaiset joutuivat menneinä vuosina tyytymään VTKK:n myymään TEKO-ohjelmaan. Useimmille on tullut tutuksi myös tekstien siirtämisen hankaluus ohjelmasta toiseen. Jokainen tekstinkäsittelyohjelma käyttää juuri sille ominaisia merkintätapoja muotoilutietojen esittämiseen. Merkintätavat voivat muuttua ohjelmaversiosta toiseen eikä mitään yhtenäistymistä ole edes näköpiirissä.

Yksittäisten dokumenttien ja pienten tekstimäärien käsittelyssä tekstin muotoilussa tai rakenteen kuvaamisessa käytettävillä merkintätavoilla ei välttämättä olekaan suurta merkitystä. Jos ohjelmaa on syystä tai toisesta pakko vaihtaa, tekstidokumentin voi aina välillä muuntaa raakatekstiksi (ASCII-muotoinen teksti) ja muotoilla toisella ohjelmalla käsityönä. Hätätilassa paperille tulostetut dokumentit voi skannerin avulla muuntaa uudelleen tietokoneella käsiteltävään muotoon.

Jos dokumentteja on kymmeniä tuhansia tai enemmän ja jos dokumenttien tuotantoon ja käsittelyyn liittyy erilaisia jalostusketjuja automatisoituine välivaiheineen, ongelma muuttuu monin verroin vaikeammaksi. Uudelleen muotoileminen käsityönä ei ole enää taloudellisesti mahdollista. Suurten tekstimäärien tallentamiseen saattaa lisäksi liittyä perusteltu vaatimus dokumenttien pitkäaikaisesta käytettävyydestä. Ja tämä on todella vakava ongelma. Yhdenkään nykyisen tekstinkäsittelyohjelman pitkäikäisyyteen (ehkä TeX-ohjelmaa lukuunottamatta) ei voi luottaa.

Kysymyksenasettelu voidaan esittää vielä hiukan tiukemmassa äänilajissa. Eri alojen tutkijat ovat siirtämässä tietokoneella käsiteltävään muotoon papyruskääröillä, savitauluissa ja muissa vanhoissa dokumenteissa olevaa aineistoa. Aineiston siirtäminen vaatii paljon työtä ja sen vuoksi tutkijat haluavat tehdä sen kestävällä tavalla. Samaa työtä ei haluta tehdä uudelleen. Tutkijat toisin sanoen haluavat, että aineisto olisi käyttökelpoista ilman uudelleen koodausta vuosituhansia eteenpäin. On itsestään selvää, että mikään WP:n tai Wordin käyttämä tallennusmuoto ei tähän tarkoitukseen sovellu. Itse asiassa käytettävän tallennusmuodon on pakostakin oltava sellainen, että mainittuja ohjelmia tekevät kaupalliset yritykset eivät pysty estämään tai haittaamaan dokumenttien pitkäaikaista käyttöä ohjelmia tai tallennusmuotoja sattumanvaraisesti muuttelemalla.

SGML-standardi on luotu juuri tällaista käyttötarvetta varten. Tärkeimpänä tavoitteena on ollut sellaisen kuvausjärjestelmän kehittäminen, joka tekee dokumenteista rakenteellisesti ja jatkokäsittelyn kannalta mahdollisimman pitkäikäisiä — mahdollisesti ulkoasun kustannuksella. SGML-muotoinen (s.o. SGML-standardin mukaisella merkintäkielellä koodattu) dokumentti voidaan siirtää periaatteessa mistä tahansa ohjelmasta/koneesta mihin tahansa ohjelmaan/koneeseen. SGML-muotoiset dokumentit ovat immuuneja ohjelmisto- ja teknologiamuutoksille.

Tämä ei suinkaan tarkoita sitä, että käyttäjä voisi mielensä mukaan hyödyntää SGML:n mahdollisuuksia pelkästään WP- tai Word-ohjelmia käyttämällä. Käytössä olevan ohjelmiston on riittävässä määrin tuettava SGML-pohjaisia toimintoja. Esimerkiksi tietokantaohjelma voi olla sellainen, että dokumenttien rakenneosiin perustuvat kyselyt ovat mahdollisia. Käytössä olevan tekstinkäsittelyjärjestelmän on pystyttävä vaivattomalla tavalla tuottamaan haluttuja merkintöjä. Ohjelmiston on pystyttävä tarkistamaan, onko jokin dokumentti sille tarkoitetun rakennemäärittelyn mukainen. Lisäksi tarvitaan muunnoksia käytössä olevasta tallennusmuodosta erilaisiin siirto- ja esitysmuotoihin (painettavat julkaisut, kuvaruudulta luettava teksti) sekä toisenlaisiin tallennusmuotoihin. Kaikki nämä muunnokset on voitava tehdä ohjelmien avulla automaattisesti.

[1]

Ylivoimaisesti vaikeimmat ongelmat liittyvät alkuperäisen käyttöyhteyden säilyttämiseen. Arkistoväki puhuu tässä yhteydessä provenienssi periaatteesta.

[2]

ISO 8613, Information technology — Open Document Architecture (ODA) and interchange format.

[3]

ISO 8879, Information processing — Text and office systems — Standard Generalized Markup Language (SGML).