XML
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 myös paljon erilaisia työkaluja. Nämä työkalut toimivat samalla tavalla riippumatta siitä kuvaako XML-dokumentti WWW-sivua tai 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.
Sisällysluettelo |
[muokkaa] XML-dokumentin ulkoasu
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
[muokkaa] XML-dokumentin oikeellisuus
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.
[muokkaa] Määritellyn kielen kielioppisäännöt
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.
[muokkaa] Yleisiä XML-työkaluja
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.
[muokkaa] XML:n käytön tuomia etuja
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
[muokkaa] XML-pohjaisia standardeja ja määrityksiä
[muokkaa] Tietämyksen esittäminen
[muokkaa] Asiakirjojen esittäminen
[muokkaa] Asiakirjojen yms. erikoisosat
- MathML - Matemaattiset merkinnät
- SVG - Kuvat
- vCard XML - Yhteystiedot
- VoiceXML - Äänet
- SMIL - sisällöt, joissa esimerkiksi video ja ääni synkronoidaan
- Dublin Core - Metadata
[muokkaa] Tiedonsiirto
- 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
[muokkaa] Sovellusalueittain
- FIXML
- ebXML-määritysperhe
- GML - paikkatietojen kuvauskieli
- JDF - graafisen teollisuuden työmäärykset
- TM-XML - tavaramerkkitieto
Sivulta puuttuu