XML -kielen perusteet SIMO Seminaari Antti Mäkinen
XML, eXtended Markup Language Metakieli, jolla voidaan luoda dokumenttien rakenteen määrittämiseen käytettäviä kieliä (kaikkia XML tiedostoja kutsutaan dokumenteiksi) W3C:n (World Wide Web Consortium) kehittämä merkintäkieli Merkintäkieli, jossa käyttäjä voi määritellä itse kielen rakenteen ja kieliopin XML muistuttaa syntaksiltaan HTML –kieltä (Molemmat perustuvat SGML –kieleen)
XML, eXtended Markup Language Pääkäyttökohteina on mahdollisimman joustava tiedon siirto/välittäminen ja dokumenttien julkaisu XML määrittelee dokumentin sisällön ja rakenteen, ulkoasu voidaan määritellä muualla koskematta itse dataan XML:n perusajatukset: Tiedon vapaa ja helppo siirrettävyys eri sovelluksien välillä Laitteisto-, kieli- ja ympäristöriippumattomuus
XML:n käyttö Erilaisten rakenteeltaan määriteltyjen asiakirjojen julkaisu: mm. manuaalit, erilaiset raportit, tutkimusaineistot aineistot, data tietokannoista... Monimutkaisten tietorakenteiden siirto sovellusten ja käyttöympäristöjen välillä Tiedon helppo siirto eri alustoille: mobiilitekniikka, kännykät, kodinkoneet... Konfiguraatio ja ohjaustiedostot Vektorigrafiikan tallennusmuoto
XML:n hyödyt Yksinkertaisuus & avoimuus Laajennettavuus, syntaksi on itse määriteltävissä esim. sovelluskohtaisesti Dokumentissa määritellään datan rakenne ja sisältö (siirto uusiin järjestelmiin helppoa) Erottaa sisällön esitysmuodosta Tuki monikielisille dokumenteille Voi sisältää useita eri datamuotoja Teollisuuden vahva tuki, XML:n käyttö lisääntynyt todella nopeasti ja lisääntyy koko ajan
XML:ssä perusyksikkönä on dokumentti, jonka sisältö on jaoteltu elementteihin sisältö DOM oliomallin mukaan dokumentti koostuu juurisolmusta (root node) ja sen alapuolisista solmuista (nodes), joilla on lapsisolmuja (child node) ja äitisolmuja (parent node) XML, eXtended Markup Language
XML dokumentin rakenne ns. puurakenne jossa kaikki elementit osa dokumenttipuuta Sisältö 1 Sisältö 2 Sisältö 3 Sisältö 4
XML dokumentin rakenne Puurakenteen graafinen esitys:
XML esimerkki - stratum - D_gM comp_unit lt 5
XML:n rooli tiedon hallinnassa ns. kolmikerrosmalli
XML dokumenttien tuottaminen XML dokumenttien tuottamisessa käyttäjä muotoilee kieliopin, jolla dokumentin rakenne määritellään XML dokumenttien sallittu rakenne, elementtien nimet yms. voidaan määritellä DTD (Document Type Definition) ja Schema –dokumenteilla → Dokumenttien rakenteen & kieliopin standardointi esim. projektikohtaisesti (syntaksin tarkistaminen, validointi) Datan siirto esim. tietokannoista XML muotoon onnistuu helposti
XML dokumenttien käsittely XML dokumenttien käsittely ohjelmallisesti ohjelmointirajapintojen avulla tai XSLT (eXtensible Stylesheet Language Transformations) –kielen avulla. XML-dokumenttien käsittely esim. C-ohjelmassa tapahtuu ohjelmointirajapintojen avulla, esim. SAX2 (Simple Api for XML) ja DOM2 (Document Object Model) Tapahtumapohjaiseen ohjelmointiin XML parsereita, jotka sisältävät toiminnot XML –dokumenttien lukemiseen, dokumenttien sisältämän tiedon jäsentämiseen ja käsittelyyn sekä XML –dokumenttien tuottamiseen
XML SIMO:ssa SIMOssa käytössä libXML parseri, jossa tuki SAX2 ja DOM2 rajapinnoille C-kielellä kirjoitettu ohjelmakirjasto Siirrettävissä helposti eri käyttöjärjestelmiin ja ympäristöihin ja linkitettävissä muihin kieliin Sisältää paljon eri toimintoja ja parseria kehitetään jatkuvasti