W3C | Translations [en] | W3C Suomen toimisto

XML 10 kohdan tiivistelmänä

XML, XLink, Namespace, DTD, Schema, CSS, XHTML XML:ään tutustumisen alkutaipaleella saattaa olla vaikeaa tietää mistä aloittaisi. Tämä 10 kohdan tiivistelmä pyrkii tavoittamaan XML:n perusideat niin että metsä näkyy puilta myös asiaan vasta perehtyvien silmin. XML 10 kohdan tiivistelmänä saattaa olla myös hyvä tapa aloittaa XML:ää käsittelevä esitelmä.

1. XML on tarkoitettu rakenteisen tiedon esittämiseen

Rakenteinen tieto käsittää mm. taulukkolaskennan tiedostot, osoitekirjat, konfiguraatiotiedostot, sähköisen kaupankäynnin viestit sekä tekniset piirustukset. XML on joukko sääntöjä rakenteisen tiedon esittämiseen tarkoitettujen tekstiformaattien suunnitteluun. (XML:n voi nähdä myös ohjeena tai yhteisenä käytäntönä.) XML ei ole ohjelmointikieli eikä soveltajan tarvitse osata ohjelmoida pystyäkseen käyttämään sitä. XML:n avulla tietokoneiden on helppoa tuottaa ja lukea tietoa täsmällisessä muodossa. XML välttää suunnittelun tyypilliset sudenkuopat: se on laajennettavissa, järjestelmäriippumaton ja se tukee kansainvälistämistä ja lokalisointia. XML on myös täysin Unicode-yhteensopiva.

2. XML näyttää hieman HTML:ltä

Kuten HTML, myös XML perustuu tagien ('<' ja '>'-merkein erotetut sanat) ja attribuuttien (muotoa nimi="arvo") käytölle. Siinä missä HTML määrittelee mitä mikäkin tagi ja attribuutti tarkoittaa (sekä usein myös miten näiden rajaama teksti näyttää selaimessa), käyttää XML tageja vain tekstidatan rajaamiseen ja jättää sen tulkinnan täysin tietoa käsittelevän sovelluksen harteille. Toisin sanoen, koodi "<p>" XML-tiedostossa (tekstikappaleen, "paragraph", koodi HTML-kielessä suom. huom.), ei välttämättä tarkoita tekstikappaleen merkkausta. Sovelluksesta riippuen, se voi tarkoittaa hintaa (price), henkilöä (person), p... (Ja kuka sanoo että koodin tulisi ylipäänsä esittää p-alkuista englanninkielistä sanaa?)

3. XML on tekstiä mutta ei tarkoitettu suoraan luettavaksi

Ohjelmat jotka tuottavat laskentataulukoita, osoitekirjoja tai muuta rakenteista dataa, tallettavat usein tiedon levylle, joko binääri- tai tekstiformaatissa. Tekstiformaatin eräs etu piilee siinä, että tekstin lukeminen on periaatteessa mahdollista ilman juuri kyseisen tekstin tuottaneen ohjelman käyttämistä. Tämä tarkoittaa, että tekstimuotoista tietoa voi kukin lukea itse valitsemallaan tekstieditorilla. Tekstiformaattien käytön ansiosta myös sovellusten debuggaus on helpompaa. Kuten HTML-tiedostoja, myöskään XML-tiedostoja ei yleensä ole tarkoitettu ihmisten luettavaksi (sellaisenaan) mutta mikäli tarvis, on se mahdollista. HTML:ään verrattuna XML-tiedostojen kirjoittamisen säännöt sallivat vähemmän poikkeuksia. Unohtunut tagi tai attribuutin arvo ilman lainausmerkkejä tekevät XML-tiedoston käyttökelvottomaksi, vaikka tämä usein HTML-sovelluksissa sallitaankin. Virallinen XML-spesifikaatio erityisesti kieltää sovelluksia arvailemasta mitä virheellinen XML-tiedosto voisi tarkoittaa; jos tiedostomuoto ei ole kunnossa, sovelluksen on pysähdyttävä ja ilmoitettava virhetilanteesta.

4. XML on suunniteltu verboosiksi

Koska XML on tekstiformaatti ja käyttää tageja datan rajaamiseen, XML-tiedostot ovat aina pakostakin suurempia kuin mitä vastaavat binääritiedostot voisivat olla. Tämä on harkittu suunnitteluvalinta. Tekstiformaatin edut ovat ilmeiset (ks. kohta 3) ja tekstimuotoisuudesta seuraavat haitat voidaan kompensoida muilla sovellustasoilla. Levytila on halvempaa kuin ennen ja pakkausohjelmia kuten zip ja gzip voidaan käyttää tiedostojen hyvään pakkaamiseen hyvin nopeasti. Tämän lisäksi kommunikaatioprotokollat kuten modeemiprotokollat ja HTTP/1.1, Webin ydinprotokolla, voivat pakata dataa suorituksenaikaisesti, käyttäen tiedonsiirtoyhteyttä yhtä tehokkaasti kuin binääriformaatitkin.

5. XML on perhe teknologioita

XML 1.0 on spesifikaatio joka määrittää mitä "tagit" ja "attribuutit" ovat. XML 1.0:n lisäksi "XML-perhe" on kasvava joukko moduuleja jotka auttavat suorittamaan tärkeitä ja usein toistuvia XML-tietojenkäsittelyn tehtäviä. XLink määrittelee standardin tavan liittää hyperlinkkejä XML-tiedostoon. XPointer on syntaksi XML-dokumentin osiin viittaamiseksi. XPointer on URL:n kaltainen, mutta dokumentin Web-osoitteen sijaan osoittaa palaseen informaatiota XML-tiedoston sisällä. Tyylikieli CSS soveltuu HTML:n ohella myös XML-käyttöön. XSL on CSS:ää kehittyneempi tyylikieli. Se perustana on XSLT, muunnoskieli, jonka avulla XML-dokumentin tageja ja attribuutteja voidaan uudelleenjärjestää, lisätä sekä poistaa. DOM on standardi joukko funktiokutsuja jonka avulla XML-dokumentteja (ja HTML-dokumentteja) voidaan käsitellä ohjelmointikielestä käsin. XML Schema 1 ja 2 auttavat sovelluskehittäjiä määrittelemään XML-pohjaiset tietorakenteensa tarkasti. Myös monia muita moduuleja ja työkaluja on saatavilla tai kehitteillä. Näistä saa tietoja seuraamalla W3C-spesifikaatiot luettelevaa sivua .

6. XML on uutta, mutta perustaltaan hyväksi havaittua tekniikkaa

XML:n kehitystyö alkoi vuonna 1996 ja se on ollut W3C-suositus helmikuulta 1998. Tämän perusteella saattaisi luulla että kyse ei ole vielä vakiintuneesta teknologiasta. Itse asiassa teknologia ei kuitenkaan ole kovin uutta. Ennen XML:ää oli SGML. SGML kehitettiin 80-luvun alussa ja vuodesta 1986 lähtien se on ollut ISO-standardi jota on laajalti käytetty suurissa dokumentaatioprojekteissa. HTML:n kehitystyö alkoi vuonna 1990. XML:n suunnittelijat yksinkertaisesti omaksuivat SGML:n parhaat puolet, hyödyntäen HTML:n käytöstä saatuja kokemuksia. Lopputulos ei ole SGML:ää heikompi, mutta huomattavasti säännöllisempi ja helppokäyttöisempi. Joskus kehitystä on kuitenkin vaikeata erottaa vallankumouksesta... Ja on sanottava, että vaikka SGML:ää käytetään eniten juuri teknisessä dokumentoinnissa ja huomattavasti vähemmän muuntyyppisen tiedon käsittelyssä, on tilanne XML:n tapauksessa juuri päinvastainen.

7. XML ohjaa HTML:n XHTML:ksi

Löytyy kuitenkin ainakin yksi tärkeä XML-sovellus, joka juuri on dokumenttiformaatti: W3C:n XHTML, HTML:n seuraaja. XHTML koostuu pitkälti samoista asioista kuin HTML:kin. Sen kielioppia on XML-sääntöjen mukaisesti kuitenkin hieman muutettu. XML-pohjainen dokumenttiformaatti perii XML-kieliopin ja rajoittaa sitä sopivasti (esim. XHTML sisältää koodin "<p>", muttei koodia "<r>"); se myös määrittelee mitä kielioppi tarkoittaa (XHTML asettaa että "<p>" tarkoittaa juuri tekstikappaletta, "paragraph", eikä käsitettä "price", "person" tms.)

8. XML on modulaarinen

XML mahdollistaa uuden dokumenttiformaatin määrittelyn yhdistelemällä ja uudelleen käyttämällä muita formaatteja. Koska kaksi toisistaan riippumatta kehitettyä formaattia saattavat sisältää samannimisiä elementtejä tai attribuutteja, formaattien yhdistely täytyy suorittaa huolella (tarkoittaako "<p>" termiä "paragraph" tästä formaatista vai "person" tuosta toisesta?). Sekaannusten estämiseksi XML esittelee mekanismin nimiavaruuksien käyttämiseksi. XSL ja RDF ovat hyviä esimerkkejä XML-pohjaisista formaateista jotka hyödyntävät nimiavaruuksia. XML Schema on suunniteltu täydentämään tätä dokumenttirakenteiden suunnittelun tasolla. Mekanismi mahdollistaa erityisesti eri skeemojen helpon yhdistämisen.

9. XML on RDF:n ja Semanttisen Webin perusta

W3C:n Resource Description Framework (RDF) on XML-perustainen tekstiformaatti joka on tarkoitettu resurssien kuvailemiseen ja metadataa hyödyntävin sovelluksiin, esim. musiikin soittolistojen, valokuvakokoelmien ja kirjallisuusviitteiden toteuttamiseen. RDF mahdollistaa esim. valokuva-albumissa esiintyvien ihmisten tunnistamisen, heidän tietojensa noutamisen osoitekirjasta ja sähköpostin lähettämisen tiedoksi että kuva on julkaistu, yhtenä saumattomana kokonaisuutena. Samalla tavoin kun HTML yhdisti dokumentit, kuvat, valikot ja lomakkeet, luoden nykyisen Webin perustan, tarjoaa RDF välineitä tästä eteenpäin, tuloksena entistä Semanttisempi Web. Vastaavasti, kuten ihmisten pitää sopia käyttämiensä sanojen merkityksistä, myös tietokoneet tarvitsevat terminologisia sopimuksia tehokkaan kommunikaation perustaksi. Tietyn sovelluksen käsitteiden täsmällisiä kuvauksia (esim. ostosten tekeminen tai rakentaminen) kutsutaan ontologioiksi, ja ne ovat välttämätön osa Semanttista Webiä. RDF, ontologiat ja semanttisen tiedon esittäminen siinä muodossa että tietokoneet voivat auttaa käyttäjiään, ovat osa W3C:n Semantic Web Activity -työtä.

10. XML on vapaa lisensseistä, järjestelmäriippumaton ja hyvin tuettu

Valitsemalla XML:n tietoteknisen projektin perustaksi, tarjoutuu pääsy laajaan ja alati kasvavaan valikoimaan työkaluja (joista osa jo sellaisenaan saattaa tehdä merkittävän osan työstä puolestasi) ja yhteys kokeneisiin teknologian soveltajiin. XML:n valinta on hieman samanlaista kuin SQL:n valitseminen tietokantaratkaisuissa: edessä on yhä tietokannansovelluksen rakentaminen tätä tukevine ohjelmistoineen, mutta työhön on valmiiksi saatavilla työkaluja ja apua. Ja koska XML:ää ei tarvitse lisensoida, sen varaan voi toteuttaa omia järjestelmiään ilman että kenellekään tarvitsee maksaa mitään. Laaja tuki tarkoittaa myös sitä että sitoutuminen yhteen valmistajaan tai palveluntarjoajaan ei ole välttämätöntä. XML ei aina ole paras vaihtoehto, mutta se on aina huomioimisen arvoinen.


Suomenkielinen käännös (28.8.2003): Ossi Nykänen, W3C Suomen toimisto w3c@cs.tut.fi,
Alkuperäisdokumentti XML in 10 points: W3C Communications Team, w3t-comm@w3.org
Revised 13 Nov. 2001 (last update: $Date: 2003/06/02 19:08:30 $)
Created 27 Mar 1999 by Bert Bos
(Previous version)