next up previous contents
Seuraava: 7 Nimeäminen ja paikantaminen Ylempi: 6 SGML ja rakenteiset Edellinen: 6.5 SGML:n ``suuret'' sovellukset

Subsections

6.6 HTML, XML ja World Wide Web

WWW-dokumentit koodataan HTML-merkinnöillä (HTML, HyperText Markup Language). HTML-koodit on määritelty SGML-standardin mukaisesti, joten HTML on SGML:n sovellus. Ensimmäisen HTML:n määrityksen kirjoitti TIM BERNERS-LEE CERNissä ollessaan. Nykyisin määritystyötä tehdään MIT:ssa toimivan WWW-konsortion (W3C) puitteissa, johon kuuluvat mm. IBM, Microsoft, Netscape Communications Corporation, Novell, Spyglass ja SoftQuad. Berners-Lee toimii W3C:n johtajana.

Alkuperäinen HTML osoittautui hyvin nopeasti liian suppeaksi käytännön tarpeisiin ja siihen alettiin suunnitella laajennuksia. Näin syntyi vähitellen kirjava joukko erilaisia HTML:n murteita ja laajennuksia. Seuraava yhtenäinen ja kohtalaisen pitkään käytössä pysynyt versio oli HTML 2.0, joka on julkaistu IETF:n dokumenttina RFC 1866. Alkuperäiseen määritykseen verrattuna versio 2.0 toi lisäpiirteinä lomakkeet ja niiden käsittelyssä tarvittavat kuvakkeet (painonapit ja alasvetovalikot).

Seuraavaksi syntyi HTML+ tai HTML 3.0, joka sisälsi suunnilleen kaiken, mitä hyperteksteissä ajateltiin tarvittavan. Siinä oli tietenkin käytettävissä taulukot mutta sen lisäksi matemaattiset lausekkeet. Osa näistä lisäyksistä osoittautui sellaisiksi, että tarkkaa määrittelyä ei pystytty tekemään tai sitten selainten tekeminen kävi liian vaikeaksi. HTML:n versio 3.0 ei sen vuoksi tullut koskaan varsinaiseen käyttöön.

Määrittelytyö käynnistettiin uudelleen ja samalla pyrittiin systemaattisempaan ja realistisempaan lopputulokseen. Tätä kirjoitettaessa versio HTML 3.2 on ``virallinen''.[*] Se on päivätty 11.1.1997 eli se on ollut hyväksyttynä vasta vajaan vuoden verran. Version HTML-4.0 alustava määrittely on jo julkistettu (viimeisimmän päiväys 17.9.1997). Uusi versio on jälleen hyvin laaja on pelättävissä, että HTML-4.0:n kohtalo on sama kuin HTML-3.0:n, eli se ei ehkä koskaan vakiinnuta asemaansa laajasti käytettyjen selainten yhteydessä.

Kirjastoalan ihmisten mutta miksei myös kotisivuja harrastuksekseen tekevien on tärkeää ymmärtää, että HTML on todellakin SGML-sovellus. Vaikka WWW-dokumentteihin voi vielä nykyisellään kirjoittaa lähes mitä tahansa SGML:ää muistuttavia merkintöjä ilman, että selaimet niistä häiriintyvät, tilanne voi koska tahansa muuttua. On hyvin mahdollista, että tietoturva-, arkistointi- tai muista syistä WWW:n selaimet ja muut ohjelmat alkavat edellyttää, että WWW:n dokumentit ovat tarkasti jonkin ``virallisesti'' hyväksytyn ja julkisesti saatavissa olevan DTD:n mukaisia. Silloin WWW-dokumenttien alussa on välttämättä oltava merkintä tyyppimäärityksestä ja dokumenttien on oltava rakenteeltaan seuraavalla sivulla kuvatun kaltaisia.

Lisäksi kunkin dokumentin tulee todella olla sen alkutiedoissa mainitun DTD:n mukainen. Määritys on täysin formaali ja sen noudattaminen on ohjelmallisesti tarkastettavissa. WWW:stä löytyy julkisia validointipalveluja. Janne Himangan tekemä versio on osoitteessa http://oyt.oulu.fi/validointi.html.




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  <HTML>
  <HEAD>
  <TITLE>A study of population dynamics</TITLE>
  ... other head elements
  </HEAD>
  <BODY>
  ... document body
  </BODY>
  </HTML>


Kuten edellä esitetystä on helposti pääteltävissä, kehitys etenee henkeä ahdistavalla ja ajattelukykyä sumentavalla nopeudella. WWW:stä ja HTML:stä kirjoittaminen onkin hyvin ongelmallista siksi, että esitellyt asiat, viittaukset verkossa oleviin dokumentteihin ja arvelut tulevasta kehityksen suunnasta vanhenevat jo sinä aikana, kun kirjoitusta ladotaan ja painetaan. Tämä on kuitenkin myös standardien kehittäjien ongelma. Mikä tahansa huolella tehty standardi vanhenee käsiin ennen kuin se on saatu edes julkaistavaan kuntoon.

Tämän vuoksi HTML:n jatkokehityksessä ollaan suuntautumassa dynaamisiin määrittelyihin, jotka tekevat mahdolliseksi merkintäkielten laajentamisen ilman, että tyyppimääritystä tarvitsee muuttaa. Tästä päästäänkin luvun viimeiseen aiheeseen, joka on XML.

6.6.1 Laajennettava merkintäkieli

HTML:n standardoinnissa ja HTML-koodauksessa on useita vakavia ongelmia. Internetin kaupallisten selainten kova kilpailu maailmanmarkkinoilla näkyy standardin paisumisena ja rönsyilynä. HTML-4.0:n luonnos on yli 300 sivuinen ja sisältää ristiriitaisia piirteitä, jotka estävät täysitoimisten selainten tekemisen. Luonnokseen on jokainen halukas saanut oman puumerkkinsä ja on odotettavissa, että selaimet eivät pysty näyttämään kilpailijoiden tuottamia dokumentteja. Toisena ongelmana on, että luonnos ehtii tosiasiallisesti vanheta ennen kuin se ehditään hyväksyä WWW-konsortion suositukseksi.

Ratkaisuksi tähän ongelmaan ollaan kehittämässä laajennettavissa olevaa merkintäjärjestelmää XML[*]. Tavoitteet ovat erittäin kunnianhimoiset. Samalla kertaa pyritään ratkaisemaan kaikki keskeiset HTML:n ongelmat. (1) Merkintäkielestä halutaan tehdä dynaamisesti laajennettava, (2) hyperlinkeistä halutaan nykyiseen verrattuna oleellisesti monipuolisempia ja (3) selaamisen ja ladonnan ohjaamiseen halutaan laajennettavissa olevat tyylitiedostot. Lisäksi näyttää siltä, että XML:stä on nopeasti tulossa tietoverkoissa olevien resurssien hallinnan yleinen merkintäjärjestelmä.

XML ei ole merkintäkieli samaan tapaan kuin HTML. XML (Extensible Markup Language) on pikemminkin verrattavissa SGML:ään, se on rajoitettu SGML -- se noudattaa SGML-standardia. Rajoittaminen on tehty niin, että sellaiset SGML:n piirteet on pudotettu pois, jotka aiheuttavat tietoverkoissa käytettävien ohjelmien tekemisessä tehokkuus- tai johdonmukaisuusongelmia. SGML:n, HTML:n ja muiden standardien laatimisesta ja niiden hyödyntämiseksi tarvittavien ohjelmien -- erityisesti selainten ja ladontaohjelmien -- tekemisestä on kertynyt huomattava määrä kokemuksia. XML:n kehittämisessä on mukana suuri joukko alan kaikkein kokeneimpia ihmisiä. Edustettuna ovat kaikki keskeiset SGML-tuotteita ja WWW:ssä käytettäviä ohjelmia tuottavat yritykset.

(1) Merkintäkielen laajennettavuus antaa mahdollisuuden ottaa käyttöön uusia palveluja voimassa olevaa standardia muuttamatta. WWW:stä löytyvässä dokumentissa voidaan määritellä uusia rakenneosia, niiden keskinäisiä suhteita, rakenneosiin liittyvää toiminnallisuutta ja käyttäjän ominaisuuksien huomioon ottamista. Näiden uusien palvelujen käyttömahdollisuus tulee luonnollisesti riippumaan käytetyn selaimen ja sitä tukevien ohjelmien monipuolisuudesta. Standardin mukaiset laajennukset turvaavat kuitenkin vähimmillään sen, että selaimet tekevät dokumentin kanssa parhaansa; näyttävät mitä osaavat ja jättävät muun osan rakenteesta ja toiminnallisuudesta vaille huomiota.

Esimerkiksi dokumentin sisäisen rakenteen laajennuksesta käy hyvin potilastietojen siirtäminen sairaalan WWW-palvelimesta yksityisen terveyskeskuksen WWW-palvelimeen. Käytetyt tietokannat voivat olla keskenään täysin yhteensopimattomia. XML:n avulla voidaan kuitenkin kuvata potilastietojen hierarkkinen rakenne SGML:n rakenneosia hyödyntämällä. Potilastietoja sisältävä dokumentti sisältää tällöin varsinaisten henkilötietojen lisäksi tietojen rakenteen ja keskinäisten suhteiden formaalin kuvauksen. Riittävät valtuudet omaava lääkäri voi selaimessa hiirellä siirtää potilaskansion tietokannasta toiseen ja käyttää luottamuksellisia ja tarkkoja tietoja tilannekohtaisen diagnoosin tekemiseen. On helppo kuvitella, että tällaisella mahdollisuudella voi hätätilanteessa olla suuri merkitys.

Laajennettavuus liittyy myös dokumenttien sisältämään toiminnallisuuteen. WWW:n selaimet ovat muuttumassa sellaisiksi, että ne pystyvät yhä enemmän suorittamaan dokumentteihin upotettuja toiminnallisia piirteitä. Yksikertaisimmillaan kyse voi olla vilkkuvista tai vilistävistä tekstinosista. Kehittyneemmissä ratkaisuissa selain voi suorittaa hyvinkin vaativaa tietojen muokkausta. Esimerkiksi karttapiirros voidaan muotoilla, viimeistellä ja yhdistää muuhun aineistoon vasta selaimessa. Tulevaisuudessa kuvien jakelu ei enää perustu ennalta muodostettuihin ja tallennettuihin lopullisessa muodossa oleviin rasterikuviin.

Käyttäjän ominaisuuksien huomioon ottaminen liittyy käyttäjän mielenkiintoprofiilin hyödyntämiseen. Käyttäjä voi määritellä etukäteen, että hän haluaa aivan erityisesti selata johonkin tiettyyn aihepiiriin kuuluvaa aineistoa eikä halua lainkaan nähdä johonkin toiseen aihepiiriin kuuluvaa aineistoa. Jos aineisto on kuvailtu asianmukaisella tavalla, selain voi korostaa linkkejä haluttuun aineistoon ja jättää kokonaan näyttämättä linkit ei-haluttuun aineistoon.

(2) HTML:n käyttämät hyperlinkit edustavat hyvin pientä osaa kaikesta siitä, mitä hypertekstien käsittelyyn oli kehitetty jo 1970-luvulla. Hyperteksti, kuten on hyvä tietää, on varsin vanha keksintö. XML:n avulla pystytään hyperlinkeistä tekemään monipuolisempia. Linkit voivat olla kaksisuuntaisia ja dynaamisia, niillä voidaan hallita osista koostuvaa koottua dokumenttia (esim. erillisissä tiedostoissa olevat kirjan luvut) ja ne voivat kohdistua rasterimuotoisten kuvien osiin tai osoittaa jotain videon kohtaa. Videokuva, jossa on monikanavainen ääni ja mahdollisesti useita valinnaisia tekstityksiä sekä muuta linkitettyä oheismateriaalia on hyperlinkkien muodostamiselle ja hallinnalle eräänlainen haaste.

(3) Tyylimäärittelyt ovat osa SGML:n jatkokehitystä. SGML:n esittelyn alkupuolella jo totesin, että asiakirjojen pitkäaikaista käytettävyyttä on SGML:n avulla turvattu osittain ulkoasun kustannuksella. Kirjojen ja lehtien kustantajat eivät ole tyytyneet pelkkään SGML:ään. Rinnalle on kehitetty DSSSL-standardi (ISO/IEC 10179)[*]. Sen avulla SGML:n mukaiseen dokumenttiin voidaan liittää lisämerkintöjä, joiden avulla dokumentin rakenneosat kytketään tulostusta ja katselua ohjaaviin tyylimäärittelyihin. Yksinkertaisimmillaan kyse on otsikkorivien lihavoinnista ja sivunvaihtokohdista. Monimutkaisemmaksi asia muuttuu, kun tyylitiedostojen avulla ohjataan automaattista sisällysluettelojen, sanastojen ja hakemistojen tekemistä. Tyylitiedostoilla voidaan ohjata myös dokumentin eri osien näkymistä selaimessa. Yhdessä ikkunassa voi olla sisällysluettelo, toisessa dokumentin rakennetta kuvaava hierarkkinen kaavio, kolmannessa dokumenttiin piilotetut lukijoiden kommentit, neljännessä valikoituja osia jostain tärkeimmistä kysymyksistä, jne.

Tyylitiedostoille on luonteenomaista, että makukysymykset tulevat vahvasti esille. Sen vuoksi tyylimäärittelyjä on pystyttävä soveltamaan kasautuvasti (engl. cascading). Dokumentin tekijä laatii ensin oman tyylimäärityksensä, informaatiopalvelujen jakelija liittää siihen omansa ja lopulta käyttäjä muuttaa jotkut yksityiskohdat omien mieltymystensä mukaisiksi. Kasautuvia tyylimäärityksiä on pystyttävä hallitsemaan niin, että ristiriitoja ei synny eikä alkuperäinen dokumentti jää joiltakin osin vahingossa kokonaan näkemättä.


next up previous contents
Seuraava: 7 Nimeäminen ja paikantaminen Ylempi: 6 SGML ja rakenteiset Edellinen: 6.5 SGML:n ``suuret'' sovellukset
Timo Kuronen