| Translations [en]
|
W3C Suomen toimisto
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.
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?)
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.
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.
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
.
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.
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.)
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.
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ä.
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.
Copyright © 1999-2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.