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.
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ä.