XML

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

XML-kieli (lyhenne sanoista eXtensible Markup Language) on merkintäkieli, 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-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 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

XML-dokumentin ulkoasu

XML-dokumentti on tekstiä; tavallisesti UTF-8-muotoista. Muitakin koodauksia voidaan käyttää (mm. aiemmin merkittävä ISO 8859-1).

XML-dokumentti koostuu elementeistä. elementti koostuu alkumerkistä ja loppumerkistä. Elementtejä voi olla rajattomasti sisäkkäin:

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

Oikeellinen XML-dokumentti koostuu ylimmällä tasolla täsmälleen yhdestä elementistä.

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

Jotta dokumenttia voidaan pitää hyvin muotoiltuna, 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

XML usein määrittelee 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.

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

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 tuostusformaatteihin 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

XML-dokumenttien käytöllä tavoitellaan mm.

  • 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

Aiemmin mainitsemattomia XML-pohjaisia standardeja ja määrityksiä

Katso myös

Aiheesta muualla

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net