XML

Wikipedia
Loikkaa: valikkoon, hakuun

XML (Extensible Markup Language) on merkintäkieli tai standardi, jolla tiedon merkitys on kuvattavissa tiedon sekaan. XML-kieltä käytetään sekä formaattina tiedonvälitykseen järjestelmien välillä että formaattina dokumenttien tallentamiseen. XML-kieli on rakenteellinen kuvauskieli, joka auttaa jäsentämään laajoja tietomassoja selkeämmin. XML:n kehittäjä on World Wide Web Consortium.

XML-dokumenttien käsittelyyn on tarjolla paljon erilaisia työkaluja. Nämä työkalut toimivat samalla tavalla riippumatta siitä, kuvaako XML-dokumentti WWW-sivua vai muita tietoja.

XML on tekstimuotoista ja muistuttaa HTML-kieltä, jolla WWW-sivut kirjoitetaan, ja ne kummatkin ovat SGML-kielen yksinkertaistettuja osajoukkoja. XML-kieli ei kuitenkaan ole tarkoitettu sivunkuvauskieleksi kuten HTML, vaan sillä kuvataan tiedon rakenne ilman ennalta määrättyjä koodeja. XML-kielellä voi muodostaa uusia koodeja, joiden avulla voidaan luoda dokumentteja hyvinkin erilaisiin ja erityisiin tarkoituksiin. XHTML on HTML-kielen versio, joka on siivottu puhtaaksi XML-kieleksi.

XML-dokumentin ulkoasu[muokkaa | muokkaa wikitekstiä]

XML-dokumentti on tekstiä; tavallisesti UTF-8-muotoista. Standardi vaatii XML-käsittelijöitä tukemaan Unicoden UTF-8 ja UTF-16-koodauksia. Muitakin koodauksia voidaan käyttää, esimerkiksi ISO 8859-1:aa.

XML-dokumentti alkaa prologilla, joka sisältää XML-version, sekä mahdollisesti dokumentin koodauksen ja muita tietoja.

 <?xml version="1.0" encoding="utf-8" standalone="yes"?>

DOCTYPE-määrityksellä dokumentille voidaan määrittää DTD (Document Type Definition):

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XML-dokumentti koostuu elementeistä. Elementti kuvataan tagilla, joka koostuu alkumerkistä ja loppumerkistä. Elementtejä voi olla rajattomasti sisäkkäin:

 <elementti attribuutti="arvo">
 ...
 </elementti>

Isot ja pienet kirjaimet katsotaan elementtien nimissä erillisiksi merkeiksi. Esimerkiksi <Esimerkki> ja </Esimerkki> muodostavat oikein muotoillun parin, kun taas <Esimerkki> ja </esimerkki> eivät näin tee

XML-dokumentin oikeellisuus[muokkaa | muokkaa wikitekstiä]

XML:n oikeellisuudelle on kaksi määritelmää: hyvin muodostettu (Well-formed) dokumentti täyttää kaikki syntaksisäännöt, jolloin lopetuselementit eivät voi mennä ristiin tai puuttua; sekä validi (Valid), jolloin XML-dokumentti on jonkin dokumenttityypin mukainen.

Jotta dokumenttia voidaan pitää hyvin muodostettuna, sen täytyy täyttää vähintään seuraavat vaatimukset:

  • Dokumentissa on tasan yksi juurielementti.
  • Ei-tyhjillä elementeillä on sekä alku- että loppumerkki. Tyhjät elementit voidaan merkitä erikseen.
  • Jokainen attribuutti on lainausmerkkien sisällä.
  • Elementit voivat olla sisäkkäisiä, mutta ne eivät mene ristiin toisten elementtien kanssa.

Määritellyn kielen kielioppisäännöt[muokkaa | muokkaa wikitekstiä]

XML määrittelee usein johonkin sovellukseen käytetyn tiedon rakenteen. Tätä rakennetta usein sanotaan kieleksi. Jos kieli on määritelty jollakin XML-kuvauskielellä, XML-dokumentin kielen mukaisuus voidaan tarkastaa automaattisella työkalulla eli validaattorilla.

XML-kuvauskieli määrittelee esimerkiksi elementit, niiden väliset suhteet ja arvojen arvoalueet.

Yksinkertaisin kuvauskieli on DTD (Document Type Definition). Esimerkkinä DTD-määrittelystä voimme määritellä luettelon henkilöistä:

 <!ELEMENT luettelohenkiloista (henkilo*)>
 <!ELEMENT henkilo (nimi, syntymaaika?, sukupuoli?, sosiaaliturvatunnus?)>
 <!ELEMENT nimi (#PCDATA)>
 <!ELEMENT syntymaaika (#PCDATA)>
 <!ELEMENT sukupuoli (#PCDATA)>
 <!ELEMENT sosiaaliturvatunnus (#PCDATA)>

Monimutkaisempia ja uudempia määrittelykieliä ovat XML-skeema ja RELAX NG. Ne ovat itsessään XML-dokumentteja. Näiden avulla voidaan esimerkiksi asettaa rajoituksia numeroiden arvoalueille.

Yleisiä XML-työkaluja[muokkaa | muokkaa wikitekstiä]

XML-kielet kuvaavat dokumentin loogista rakennetta, eivät niiden esittämistä. Niinpä samasta XML-dokumentista voidaankin luoda useita erilaisia esityksiä. Samasta varastotilanteen kuvaavasta XML-tiedosta voidaan tuottaa esimerkiksi sekä varastotilanteen kuvaavat WWW-sivut että tulostettavat rahtikirjat.

Yksi ratkaisu XML-sivujen muuntamiseen erilaisiin tulostusformaatteihin on HTML:n kanssa usein käytetty CSS. CSS ei kuitenkaan itse ole XML:n mukainen kieli. Siksi on ehkä tyylikkäämpää käyttää XML:n mukaista XSLT-muunnoskieltä.

XSLT-kielen kanssa määritellään XPath-osoitinkieli, jolla voidaan määritellä helposti osajoukkoja XML-dokumentista.

FO-sivunkuvauskieli on yleinen XML-formaatti, johon dokumentteja voidaan muuntaa helpompaa tulostamista varten. Se siis vastaa jossain määrin HTML-dokumentin ulkoasuominaisuuksia.

XML:n käytön tuomia etuja[muokkaa | muokkaa wikitekstiä]

XML-dokumenttien käytöllä tavoitellaan muun muassa

  • sisältöjen yhdenmukaisempaa tallennusmuotoa
  • sisältövirheiden välttämistä
  • tiedon hakemisen helpottamista
  • sisällön monikäyttöisyyden ja monikanavajulkaisemisen parantamista
  • käsittelyvaiheiden automatisointia
  • riippumattomuutta tietystä ohjelmistotoimittajasta
  • tiedon pitkäaikaissäilyvyyden parantamista
  • integraatioiden helpottamista
  • SEPA ja XML sanomat yleensä yritysten välisessä tiedonsiirrossa

XML-pohjaisia standardeja ja määrityksiä[muokkaa | muokkaa wikitekstiä]

Tietämyksen esittäminen[muokkaa | muokkaa wikitekstiä]

Asiakirjojen esittäminen[muokkaa | muokkaa wikitekstiä]

Asiakirjojen yms. erikoisosat[muokkaa | muokkaa wikitekstiä]

Tiedonsiirto[muokkaa | muokkaa wikitekstiä]

  • XML-RPC - toiminnon suorittaminen verkon yli
  • SOAP - toiminnon suorittaminen verkon yli
  • AJAX - toiminnon suorittaminen verkon yli
  • WSDL - verkkoon tarjottujen palvelujen kuvaus
  • WML - WAP-sivut
  • XSQL - XML:n ja SQL:n yhdistelmä tiedonhakuun

Sovellusalueittain[muokkaa | muokkaa wikitekstiä]

Katso myös[muokkaa | muokkaa wikitekstiä]

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]