www.hohde.com Hohde Consulting 2004



Samankaltaiset tiedostot
Luento 12: XML ja metatieto

Luento 11: XSL-FO & SVG

Luento 8: XML-tuki ohjelmointikielissä & Web-palvelut

Luento 3: Tietorakenteiden esittäminen

Hohde Consulting 2004

Luento 13: XML langattomissa päätelaitteissa

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

W3C, Web-teknologiat ja XML

Luento 1: Johdanto merkintäkieliin

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

P e d a c o d e ohjelmointikoulutus verkossa

Luento 7: XML-ohjelmointirajapinnat

Johdatus rakenteisiin dokumentteihin

Luento 4: XPath ja XLink

W3C-teknologiat ja yhteensopivuus

3 Verkkosaavutettavuuden tekniset perusteet

XML johdanto, uusimmat standardit ja kehitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Hohde Consulting 2004

Digitaalisen median tekniikat. JSP ja XML

ELM GROUP 04. Teemu Laakso Henrik Talarmo

XML-evoluutio ja kestävä kehitys

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Paikkatiedot ja Web-standardit

XML, XHTML ja CSS. T Hypermediadokumentin laatiminen. Mikko Pohja

Luento 10: XML WWW:ssä

8 XSLT-muunnoskieli XSLT-muunnoskieli

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus

6 XML-työkalut 1. 6 XML-työkalut

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

Johdatus XML teknologioihin

W3C, XML ja tietojenkäsittely: Ihmisen ja tietokoneen yhteinen ymmärrys suoritettavasta tehtävästä ja XML-standardien merkitys tietosysteemeissä (MH)

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

XML ja Web Services update

W3C & verkkojulkaisun standardit

Järjestelmäarkkitehtuuri (TK081702)

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

2. PEHMEÄ XHTML XRAJAHTML

Sosiaalihuollon asiakirjastandardi kehittyy. Konstantin Hyppönen Erikoissuunnittelija Tietojenkäsittelytieteen laitos Kuopion yliopisto

XML - mahdollisuudet ja kehitys

W3C ja alueellinen standardointi

10 Nykyaikainen WWW-arkkitehtuuri

Helsingin yliopisto/tktl XML-metakieli XPath

Rakenteisten dokumenttien jatkokurssi, syksy 2006

M. Merikanto 2012 XML. Merkkauskieli, osa 2

Hohde Consulting 2004

XML / DTD / FOP -opas Internal

XML-datan kysely. Topi Sarkkinen. Seminaarityö. Helsinki HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

XML-tietojenkäsittely

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Web-teknologiat. XML-datan kysely Topi Sarkkinen

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

Omat Lähdöt ohjelmointirajapinta: Versio 1.01

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

A TIETORAKENTEET JA ALGORITMIT

XML-pohjaiset rakennemäärittelyt

HOJ J2EE & EJB & SOAP &...

Neoxen Systems on suomalainen ohjelmistotalo. Olemme erikoistuneet tiedon- ja oppimisen hallinnan ratkaisuihin.

HSMT J2EE & EJB & SOAP &...

Luento 2: XML:n syntaksi

CSE-A1200 Tietokannat

W3C ja Web-teknologiat

Verkkosivut perinteisesti. Tanja Välisalo

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Eero Hyvönen. Semanttinen web. Linkitetyn avoimen datan käsikirja

JHS 183 Julkisen hallinnon palvelujen tietomalli ja ryhmittely verkkopalveluissa Liite 3 XML-skeeman kuvaus ja esimerkit

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Extensible Stylesheet Language (XSL)

Heikki Helin Metatiedot ja tiedostomuodot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti

Ohjelmoinnin perusteet Y Python

XML Lanso-projektissa

W3C: teknologia ja (tieto)yhteiskunta

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Tiedonsiirto- ja rajapintastandardit

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

TIEDEJUTTUKURSSI FM VILLE SALMINEN

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Muotoilutoliot. XSL:n muotoiluoliot. Muotoiluolio. Muotoilualueet. Lohkoalueiden sijoittelu. Muotoilualueiden sijoittelu. Rivialueiden ominaisuuksia

Android ohjelmointi Tunti 2. Käyttöliittymät ja resurssit

XML, standardointi ja kehitys

Ehto- ja toistolauseet

XSL Formatting Objects

Tiedon esitys tietokoneessa. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

Datatähti 2019 loppu

Internet-pohjaisen oppimisympäristön laadinta. Luento 3

Tutkija Mikko Salmenperä. huone: sd109. TTY / Systeemitekniikan laitos. puh: mikko.salmenpera@tut.fi

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

4 Johdanto XML-maailmaan

The OWL-S are not what they seem

Transkriptio:

Luento 14: Kertaus AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Kertaus XML nimiavaruus validointi XML:n käyttö tietorakenteiden kuvaus ohjelmointi XML-pohjaiset kielet peruskielet muut kurssilla käsitellyt kielet Metatieto www.hohde.com Hohde Consulting 2004 2 1

XML Merkintäkieli on tekstipohjainen kieli, jolla voidaan kuvata rikasta joukkoa tietoa hyvin yksinkertaisen säännöstön pohjalta Yleensä merkintäkielen avulla luodaan tiedostoon haluttu rakenne Extensible Markup Language (XML) on World Wide Web Consortiumin (W3C) suositus elektronisen tiedon esitysmuodoksi XML määrittelee ainoastaan tavan esittää tietoa XML on merkintä- ja metakieli XML:lla voidaan määritellä uusia kieliä, joilla vasta kuvataan itse tietoa XML on kirjainherkkä kieli (case sensitive) www.hohde.com Hohde Consulting 2004 3 XML-dokumentin rakenne (1/2) XML-dokumentti rakentuu peräkkäisistä ja sisäkkäisistä elementeistä elementit merkitään kulmasuluilla: <elementti>...</elementti> elementillä on alku- ja loppumerkintä (start & end tag) elementti voi olla myös tyhjä, jolloin se voidaan merkitä lyhennetysti: <elementti/> Elementin alkumerkintään voidaan lisätä attribuutteja (attribute) attribuutti on avain-arvopari, joka täsmentää elementtiä attribuutti merkitään avain="arvo" tai avain='arvo' www.hohde.com Hohde Consulting 2004 4 2

XML-dokumentin rakenne (2/2) Elementtien välissä voi olla leipätekstiä tai toisia elementtejä XML-dokumentin täytyy kokonaisuudessaan olla yhden elementin (juurielementti, root element) sisällä Dokumentissa voi olla kommentteja merkkien <!-- ja --> sisällä < ja & eivät saa esiintyä yksinään dokumentissa muut entiteetit täytyy itse määritellä www.hohde.com Hohde Consulting 2004 5 Hyvämuotoinen XML XML-dokumentti on hyvämuotoista, kun dokumentti alkaa XML-määrittelyllä isäelementeillä on alku- ja loppuosa tyhjät elementit on merkitty loppukauttaviivalla elementit ovat sisäkkäin, eivät ristikkäin dokumentissa on yksi elementti, jonka lapsia kaikki muut elementit ovat tätä elementtiä kutsutaan dokumentin juurielementiksi tai juureksi dokumentissa ei käytetä merkkejä < ja & kuin elementtien ja entiteettien alussa Jos dokumentti ei täyty em. vaatimuksia, se ei ole virallisesti XML:a www.hohde.com Hohde Consulting 2004 6 3

XML:n käyttö, perusperiaate XML-dokumenttien käyttö on yleensä kaksivaiheista: XML-prosessori lukee XML-dokumentin jostakin lähteestä sovellus saa XML-prosessorilta XML-dokumentin sisällön käyttöönsä Näin on pyritty helpottamaan sovellusten laatijoiden työtaakkaa ja samalla pitämään huoli, että XML-dokumentteja käsitellään samalla tavalla sovelluksesta toiseen melkein kaikkiin ohjelmointikieliin löytyy yksi tai useampia rajapintoja XML-dokumenttien käsittelyyn näiden rajapintojen takana on yleensä XML-parseri (tai -jäsennin), joka lukee ja muokkaa XML-dokumentin johonkin ohjelmointikielelle sopivaan muotoon XML ei ota kantaa, mitä sovellus dokumentilla tekee www.hohde.com Hohde Consulting 2004 7 Nimiavaruus Nimiavaruus määritellään aina jollakin URI:lla, ts. WWWosoitteella URI:t ovat hankalia, jos niitä pitäisi toistaa jokaisen elementin kohdalla on kehitetty lyhennysmerkintä dokumentin alussa nimiavaruus-uri:in sidotaan joku lyhenne, jota käytetään elementtien nimen edessä, esimerkiksi: <fo:block/> tai <xsl:apply-templates/> Myös attribuuteilla voi olla nimiavaruus oletusarvoisesti attribuutti kuuluu samaan nimiavaruuteen kuin elementti, mutta myös attribuutin nimen eteen voi liittää nimiavaruuden www.hohde.com Hohde Consulting 2004 8 4

Nimiavaruuden määrittely Käytetään attribuuttia xmlns <hohde:element xmlns:hohde="http://www.hohde.com/"> Määritellään nimiavaruus ja käytetään sitä elementissä tässä tapauksessa nimiavaruuden nimi on hohde erotetaan elementistä kaksoispisteellä Nimiavaruuden URI:n ei tarvitse viitata mihinkään tiettyyn dokumenttiin www.hohde.com Hohde Consulting 2004 9 XML-dokumentti puuna XML-dokumentti voidaan esittää puumuodossa Sisäkkäiset elementit muodostavat puun rakenteen ulompi elementti on isäsolmu ja sisempi lapsisolmu vierekkäiset elementit ovat samalla tasolla puussa, sisaruksina attribuutit eivät ole lapsia, vaan sisältyvät elementtiä kuvaavaan solmuun tekstisirpaleet, kommentit, käsittelyohjeet ja muut vastaavat rakennepalat esitetään myös puun solmuina näillä ei voi olla lapsisolmuja www.hohde.com Hohde Consulting 2004 10 5

Validointi Document Type Definition Document Type Definition (DTD) on määrittely, jolla luodaan XML-dokumentin rakenne DTD määrittää käytettävissä olevat elementit, niiden attribuutit ja leipätekstin mahdolliset paikat elementtien järjestystä ja sisäkkäisyyttä voidaan säädellä attribuutit voidaan määrittää pakollisiksi tai vapaaehtoisiksi, ja niille voidaan antaa oletusarvot www.hohde.com Hohde Consulting 2004 12 6

XML Schema XML Schema on kieli, jolla määritellään muita XML-pohjaisia kieliä XML Schema -määrittelyillä luodaan kielen rakenteet määritellään käytettävissä olevat elementit ja attribuutit asetetaan rajoituksia elementtien sisäkkäisyydelle ja peräkkäisyydelle määritetään attribuuttien arvoilla tyypit ja mahdolliset rajaarvot lisätään attribuuteille oletusarvot tai todetaan tietyt attribuutit pakollisiksi rakenteen pohjalta syntyy dokumentin sisältö ja semantiikka määritelty rakenne mahdollistaa dokumenttien tarkistuksen ja helpottaa dokumenttien koneellista käsittelyä XML Scheman tarkoitus on korvata DTD www.hohde.com Hohde Consulting 2004 13 Validointi Validoinnissa verrataan XML-dokumenttia sen DTD-määrittelyyn tai Schemaan dokumentin jokainen elementti, attribuutti ja leipätekstisirpale tarkastetaan mikäli DTD/Schema ei salli em. osasta tai joku vaadittu osanen uupuu, dokumentti ei ole DTD:n/Scheman mukainen ja validointi epäonnistuu Validointi on vapaaehtoista XML-dokumentin ei ole edes pakko viitata DTD:iin/Schemaan XML-prosessori suorittaa validoinnin prosessorille voidaan ilmoittaa, että validointia ei saa suorittaa tai se on pakko suorittaa Validoinnilla sovellus voi varmistaa, että sisään luettu dokumentti on ainakin syntaktisesti oikein validointi ei löydä semanttisia tai loogisia virheitä Validointi voi tapahtua myös XML Schemaa vasten www.hohde.com Hohde Consulting 2004 14 7

XML:n käyttö Tietorakenteiden esittäminen Suurin osa tietorakenteista liittyy rakenteessa oleviin tietoyksilöihin (solmut, nodes) ja niiden välisiin yhteyksiin (kaaret, arcs) yleensä tietorakenne kannattaa kuvata kuvaamalla sen solmut elementeiksi yhteydet syntyvät joko automaattisesti XML-dokumentin rakenteen mukana tai sitten ne koodataan erikseen solmujen sisällä oleva tieto täytyy myös pystyä kuvaamaan Huomaa, että XML-kuvauksen ja tietorakenteen ei tarvitse sisältää täsmälleen samaa määrää informaatioita Tietorakenne sarjallistetaan XML-dokumentiksi ja XMLdokumentista luodaan tietorakenne Molemmissa prosesseissa ohjelma voi poistaa ja lisätä implisiittistä tietoa www.hohde.com Hohde Consulting 2004 16 8

Tietorakenteiden yhdistely Yleensä yksittäinen tietorakenne per dokumentti ei ole riittävä ratkaisu Sovellukset käyttävät laajoja tietorakenteita, jotka merkitsevät kokonaisuuksina, ei yksittäisinä paloina Suurempi tietorakenne voidaan sarjallistaa XML:ksi kahdella eri periaatteella: jokainen rakenne sarjallistetaan omaksi alidokumentiksi rakenteet sarjallistetaan sisäkkäin Tietorakenteiden XML-muunnosten rakentaminen helpottuu, jos primitiivityypeille on sovittu yksiselitteinen esitystapa tällöin ei tarvitse keksiä joka kerta uutta tapaa kuvata esimerkiksi kokonaislukua www.hohde.com Hohde Consulting 2004 17 Viittausten tarkistus Viittausten hallinta saattaa muodostua hankalaksi ja XMLdokumentista ei päällisin puolin näe, onko kaikki viittaukset kunnossa Kone voi kuitenkin tarkistaa viittausten järkevyyden osittain automaattisesti XML:ssa attribuutin tyypiksi voidaan määrittää ID, jolloin sen arvon täytyy olla ainutkertainen dokumentin ID-attribuuttien joukossa Siis kaikkien ID-attribuuttien, ei vain samannimisten Attribuutin tyyppi voi olla myös IDREF, jolloin sen täytyy viitata johonkin ID-attribuuttiin Useampaan ID-attribuuttiin voidaan viitata kerralla IDREFStyypillä Jos ehdot eivät täyty, dokumenttia ei voida validoida www.hohde.com Hohde Consulting 2004 18 9

Ohjelmointi XML-tuki ohjelmointikielissä Kaikissa olennaisissa ohjelmointikielissä on mahdollisuus käyttää XML-dokumentteja perustasolla tuki perustuu yleensä DOM- ja SAX-malleihin tarjoavat alhaisen tason käsittelymallit XMLdokumenteille käytännössä kaikki muut XML-rajapinnat rakentuvat näiden päälle näiden lisäksi useissa kielissä on korkeamman tason rajapintoja, esimerkiksi olioiden sarjallistamiseksi XMLdokumenteiksi ja takaisn www.hohde.com Hohde Consulting 2004 20 10

DOM & SAX Document Object Model on W3C:n suositus dokumenttien esittämiseksi ohjelmissa pohjautuu dokumentin puumuotoon alusta- ja kieliriippumaton mahdollistaa dokumentin muokkauksen DOM-rajapintojen käyttämiseksi täytyy ottaa käyttöön joku DOMtoteutus SAX on tapahtumapohjainen rajapinta XML-dokumentti luetaan jostakin lähteestä Jokainen XML:n elementti aiheuttaa tapahtuman XML tulkitseva ohjelma saa dokumentin rakenteen tapahtumien kautta erillistä puuta ei rakenneta www.hohde.com Hohde Consulting 2004 21 Web-palvelut Web-palveluissa kaksi sovellusta vaihtaa tietoa verkon yli käyttäen hyväkseen XML:a ja jotakin yleiskäyttöistä protokollaa SOAP määrittää Web-palvelujen toimintamallin WSDL määrittää palveluiden rajapinnan Näiden lisäksi voidaan puhua laajennetusti Webpalveluista, joissa pyyntö lähetetään normaalina HTTP GET-pyyntö ja vastaus saadaan XML-dokumenttina XML over HTTP www.hohde.com Hohde Consulting 2004 22 11

SOAP Simple Object Access Protocol on XML-pohjainen protokolla koneiden väliseen kommunikointiin tietoverkoissa SOAP ei määritä mitään tiettyä protokollaa viestien siirtämiseen yleensä käytetään HTTP:ta SOAP-viestintä sidotaan tiettyyn protokollaan (binding) tämä sidonta määrittää, kuinka viestit siirretään verkon solmulta toiselle www.hohde.com Hohde Consulting 2004 23 WSDL Web Serviced Description Language (WSDL) on kieli, jolla voidaan määrittää Web-palveluiden rajapintoja WSDL-määrityksen avulla Web-palvelun rajapintaa vastaan voidaan laatia sovellus sovellus kytkeytyy palveluun ja käyttää sen tarjoamia rajapintoja Yksi WSDL-dokumentti voi määrittää useita Webpalveluita www.hohde.com Hohde Consulting 2004 24 12

Web-palvelujen käyttö Käytännössä Web-palvelut toteutuaan puoliautomaattisesti generoimalla koodia Web-palvelun WSDL-kuvauksen pohjalta laaditaan valmis toteutus, joka pystyy lähettämään ja vastaanottamaan SOAPviestejä tämä toteutus käyttää sisäisesti edellisen kalvon kirjastoa jokainen WSDL:ssa kuvattu palvelu muuntuu metodiksi tätä metodia voidaan kutsua ohjelmassa normaalisti SOAP:n käyttö saattaa lisätä joitakin poikkeustilanteita, joita ei normaalisti olisi Web-palveluun liittymisen voi tehdä myös käsin kaikille ohjelmointikielille tai ympäristöille ei ole välttämättä automaattista generointia tai muutakaan SOAP-tukea www.hohde.com Hohde Consulting 2004 25 Web-palvelujen laadinta Vastaavasti Web-palvelujen laadinnassa ei tarvitse enää kirjoittaa WSDL-dokumenttia sovellukseen laaditaan normaali rajapinta ohjelmointikielen omilla primitiiveillä tämä rajapinta muunnetaan SOAP-rajapinnaksi erillisellä generaattorilla tuotetaan WSDL-kuvaus rakennetaan komponentti, joka tulkitsee SOAP-viestejä ja kutsuu niiden pohjalta rajapinnan metodeja Mikään ei tosin estä toteuttamasta kaikkea käsin www.hohde.com Hohde Consulting 2004 26 13

Perustason XML-kielet XPath XPath (XML Path Language) on kyselykieli, jolla XMLdokumentista voidaan poimia yksittäisiä elementtejä, attribuutteja tai jopa dokumentin osia Näitä saatuja tuloksia joko käytetään hyväkseen suoraan tai sitten niitä käytetään lähtökohtana erilaisille toimenpiteille, esimerkiksi XSLT-muunnoksilla (tästä myöhemmillä luennoilla) XPath-lauseke koostuu joukosta askelia (step) askelista muodostuu polku (path) alkupisteestä loppujoukkoon jokainen askel muokkaa valittua joukkoa (set) askel määrää siirtymän (axis), solmutestin (node test) ja mahdollisesti joukon ehtoja (predicates) www.hohde.com Hohde Consulting 2004 28 14

Lausekkeen evaluointi XPath-lauseke evaluoidaan aina puumuotoisessa XML:ssa jos XML:a ajattelee tekstidokumenttina, XPath on hyvin monimutkainen asia Lauseke evaluoidaan askel askeleelta ensimmäinen askel otetaan esimerkiksi ns. nykyisestä (current) elementistä tai juurielementistä tämä riippuu lausekkeesta seuraava askel otetaan siitä, mihin edellinen jäi jos askelta ei pystytä ottamaan, lauseke palauttaa tyhjän joukon XPath operoi joukoilla jokainen askel voi saada lähtökohdakseen useita solmuja XMLpuussa solmujen tyyppien ei välttämättä tarvitse olla samoja www.hohde.com Hohde Consulting 2004 29 XQuery XQuery on helposti ymmärrettävä kyselykieli, jolla voidaan poimia tietoa XML-dokumenteista XQuery on XPath 2.0 suosituksen laajennus tarkalleen ottaen molemmat suositukset ovat vielä kesken XQuery käyttää XPathin funktioita ja pystyy hyödyntämään myös XPath-lausekkeita tyypitykseltään XQuery tukeutuu XML Schemaan XQueryyn on laadittu sekä ihmisille että koneille sopivat syntaksit koneille sopivassa syntaksissa XQuery-lausekkeet ilmaistaan XML:na www.hohde.com Hohde Consulting 2004 30 15

XQueryn käyttö XQuery pohjautuu pitkälti sekvenssien käsittelyyn sekvenssit voidaan ymmärtää järjestetyksi oliojoukoksi XPath-lausekkeet ja funktiot palauttavat solmujoukon sekvenssinä XQueryn yleisin käyttötapa on käydä tietty solmujoukko läpi solmujoukon sisältä poimitaan arvoja, jotka palautetaan kyselyn vastauksessa www.hohde.com Hohde Consulting 2004 31 XLink XLink tarjoaa tietyn joukon käsitteitä ja attribuutteja käytettäväksi missä tahansa XML-pohjaisessa kielessä XLinkin attribuutit sijaitsevat omassa nimiavaruudessa, jonka URI on http://www.w3.org/1999/xlink lyhennetään yleensä xlink näillä attribuuteilla voidaan määrittää linkin tyyppi, viitattava resurssi ja antaa ohjeita dokumenttia käsittelevälle ohjelmalle www.hohde.com Hohde Consulting 2004 32 16

XHTML HTML on standardointityössä korvattu XMLpohjaisella XHTML:lla XHTML 1.0 pohjautuu suoraan HTML 4.01 suositukseen XHTML 1.1 on edelleen kehitetty versio 1.0:n strict-versiosta XHTML:a kehitetään eteenpäin tarkoituksena parantaa 1.1:ssa määriteltyä modulaarista kieltä, josta voidaan koostaa tarpeita vastaavia ratkaisuja XHTML:a voi käyttää nykyään normaalisti HTML:n sijasta selaimet osaavat tulkita molempia muotoja www.hohde.com Hohde Consulting 2004 33 Modularisointi XHTML 2.0 on modulaarinen kieli kaikki kielen erikoispiirteet on siirretty erillisiin moduuleihin esimerkiksi typografia moduulit määrittävät sekä elementtejä että attribuutteja moduuli voi koostua pelkästään attribuuteista Moduuleista koostetaan lopullinen kieli esimerkiksi XHTML+MP (mobile profile) langattomia laitteita varten selaimet ymmärtävät näitä koostettuja kieliä www.hohde.com Hohde Consulting 2004 34 17

XForms XForms on W3C:n suositus lomakkeiden laadintaan WWW-sivuille XForms pyrkii laajentamaan WWW-lomakkeiden käyttötapoja vastaamaan kysyntää tällä hetkellä moni lomake nojautuu voimakkaasti joko JavaScriptiin tai palvelimessa olevaan ohjelmistoon XForms-lomakkeet on jaettu kahteen osaan model määrittää lomakkeen lähettämiseen liittyvät asiat body sisältää itse lomakkeen www.hohde.com Hohde Consulting 2004 35 XSLT XSL Transformations (XSLT) on XML-pohjainen kieli XMLdokumenttien muuttamiseen muodosta toiseen XSLT-tyylisivu kuvaa säännöt, joiden avulla XSLT-prosessori käsittelee sisään luettavaa dokumenttia (input document) ja tuottaa ulos tulevaa dokumenttia (output document) XSLT-tyylisivu voi lisätä ja poistaa elementtejä ja attribuutteja sekä käsitellä leipätekstiä Tuotettava dokumentti on joko XML:a tai tavallista tekstiä yleensä lopputuloksena on toinen XML-dokumentti jos halutaan tuottaa HTML:a, tuotetaan käytännössä XHTML:a www.hohde.com Hohde Consulting 2004 36 18

XSLT-tyylisivun rakenne XSLT-tyylisivu koostuu joukosta määrityksiä ja mallineista (template) template voidaan suomentaa myös sapluunaksi Määrityksillä vaikutetaan tyylisivun tuottamaan dokumenttiin liittyviä asioita tai määritellä muuttujia myöhempää käyttöä varten Mallineet sisältävät dokumentin muunnossa käytettävät säännöt, sisään luetun dokumentin käsittelyohjeita ja tuotetun dokumentin elementtejä www.hohde.com Hohde Consulting 2004 37 Mallineet Malline koostuu kahdesta osasta mallineen laukaiseva sääntö mallineen sisältö Sääntö määritetään XPath-lausekkeella Mallineen sisällön rakenteen määrää tuotettavan dokumentin rakenne ja sisältö malline voi tuottaa uusia elementtejä ja attribuutteja, muun muassa, tuotettuun dokumenttiin malline voi valita sisään luetun dokumentin elementtejä kutsua uusia mallineita elementtien pohjalta käsitellä elementit itse malline voi sisältää ehtoja ja toistoja www.hohde.com Hohde Consulting 2004 38 19

Nykyinen solmu XSLT-prosessori käsittelee aina yhtä XML-dokumentin solmua (node) kerrallaan XSLT-tyylisivun mallineista valitaan se, jonka sääntö osuu tarkiten nykyiseen solmuun vain yksi malline valitaan tämä malline ohjaa toimintaa ja käskyttää XSLT-prosessoria jossakin vaiheessa valitsemaan uuden elementin tai muun XML-dokumentin osasen nykyiseksi solmuksi tämän jälkeen etsitään uusi malline Prosessori aloittaa dokumentin käsittelyn juurielementistä nykyinen solmu viittaa juurielementtiin käsittely jatkuu edellä kuvatulla tavalla www.hohde.com Hohde Consulting 2004 39 XSL-FO XSL Formatting Objects (XSL-FO) on kieli ulkoasun kuvaamiseksi kielen avulla voidaan luoda esimerkiksi tulostettavia dokumentteja pohjautuu voimakkaasti Cascading Stylesheets (CSS) versioon 2 Kieli on sangen monimutkainen yleensä XSL-FO-dokumentti syntyy XSLT-tyylisivun avulla FO-dokumentti koostuu pohjien määrittelyistä sivupohjista (page master) sivujaksopohjista (page sequence master) sivujaksoista (page sequence) www.hohde.com Hohde Consulting 2004 40 20

FO-dokumentin rakenne Sivupohja määrittelee dokumentissa käytettävän yksittäisen sivun koon Sivujaksopohja määrittelee käytettävien sivupohjien järjestyksen vähintään yhtä sivupohjaa täytyy käyttää sivupohjien käytölle voidaan asettaa ehtoja FO-dokumentin sisältö sijoitetaan sivujakson sisään sivujaksossa voi olla useita staattisia lohkoja (static-content) ja yksi vuo (flow) sivujaksoja voi olla useita ja ne voivat käyttää eri sivujaksopohjia staattiset lohkot toistuvat sivusta toiseen samoina vuo sisältää leipätekstin sisältö koostuu sisäkkäisistä ja peräkkäisistä lohkoista (block) www.hohde.com Hohde Consulting 2004 41 XSL-FO-dokumentin käyttö Dokumentti laaditaan yleensä XSLT-tyylisivulla tyylisivun rakenteen määrittää alkuperäinen dokumentti alkuperäistä dokumenttia käsitteleviin mallineisiin sisällytetään fo-koodi Muista, että XSL-FO on pelkästään ulkonäköä kuvaava kieli ei ole suurta väliä kuinka joku asia toteutetaan, kunhan lopputulos näyttää halutulta XSL-FO dokumentti näytetään tai tulostetaan erillisellä XSL-FO-ohjelmalla taittaa dokumentin XSL-FO-dokumentin ohjeiden mukaan www.hohde.com Hohde Consulting 2004 42 21

SVG Scalable Vector Graphics (SVG) on XML-pohjainen kieli vektorigrafiikan esittämiseen SVG:lla pystyy esittämään kaikki oleelliset kaupallisista vektoripiirto-ohjelmista tutut ominaisuudet SVG tukee kolmen tyyppisiä olioita vektoripohjaiset muodot (vector graphic shapes) koostuvat kaarien ja suorien viivojen muodostamista käyristä perusmuodot ovat nelikulmio (rect), ympyrä (circle), soikio (ellipsi), viiva (line), moniviiva (polyline) ja monikulmio (polygon) bittikuvat (images) teksti www.hohde.com Hohde Consulting 2004 43 SVG:n tuottaminen SVG-dokumentteja ei yleensä kannata laatia käsin Tuottaminen XSLT:lla soveltuu toistuvaan tuottamiseen Monet piirto-ohjelmat osaavat tallentaa SVGmuodossa SVG-kuvat vaativat tällä hetkellä erillisen näyttöohjelman Javaan löytyy SVG-kirjasto Osa uudemmista selaimista sisältää SVG-tuen SVG:ta voidaan yleensä käyttää XSL-FO:n sisällä kuvina www.hohde.com Hohde Consulting 2004 44 22

Muut XML-kielet DocBook DocBook on XML-pohjainen kieli tekniseen dokumentointiin kyseessä siis DTD-kokoelma Kieli on varsin yleisessä käytössä sekä yrityksissä että Open Source projekteissa Kieli on suunniteltu erityisesti tietokoneisiin liittyvän dokumentaation laadintaan DocBook on suunniteltu sisältöä kuvaavaksi kieleksi ei ota juurikaan kantaa sisällön lopulliseen esitykseen tämä on jätetty tyylisivujen ja muiden esitysjärjestelmien huoleksi www.hohde.com Hohde Consulting 2004 46 23

Dokumentin rakenne DocBook-dokumentti voi olla joko kirja (book) tai artikkeli (article) Kirja (book) koostuu osista (part) ja luvuista (chapter) kirjassa ei välttämättä tarvitse olla erillisiä osia, vaan se voi suoraan jakaantua luvuiksi kirjan luvuiksi jakautuvat edelleen osioihin (sect1-5 tai section), jotka sisältävät tekstikappaleet (para) DocBook tukee normaalin tekstin lisäksi muutamia yleisempiä rakenteita ja suurta joukkoa tekstin tarkentimia rakenteita ovat esimerkiksi taulukot ja listat DocBook sisältää tuen myös erilaisille luetteloille ja indekseille www.hohde.com Hohde Consulting 2004 47 DocBook-dokumentin käyttö Valmis DocBook-dokumentti ei sinällään ole suoranaisesti käytettävissä ihmisten hankala lukea tekstiä XML-merkintöjen seasta ei ole valmiita ohjelmia dokumenttien näyttämiseen Dokumentti muunnetaan toiseen muotoon XSLT:lla tyylisivun voi laatia itse verkossa on useita valmiita tyylisivuja tuottavat HTML:a tai XSL-FO-koodia osa näistä tyylisivuista mahdollistaa omien määritysten käytön www.hohde.com Hohde Consulting 2004 48 24

WAP WAP:ssa XML:a käytetään kahdessa eri muodossa vanhemmat puhelimet ymmärtävät WML:lla (Wireless Markup Language) laadittuja dokumenttia WML on sangen yksinkertainen kieli WWW-tyylisen sisällön esittämiseen WAP-puhelimissa kieli sisältää hypertekstin perusprimitiivit WML-sivu koostuu yhdestä tai useammasta kortista (card) uudemmat puhelimet pystyvät näyttämään WML:n lisäksi XHTML MP (Mobile Profile) dokumentteja muut tietotyypit ovat julkisia (GIF, JPEG, JavaScript) www.hohde.com Hohde Consulting 2004 49 Synchronized Multimedia Integration Language (SMIL) SMIL on W3:n suositus XML-pohjaiseksi multimedian esityskieleksi SMIL koostuu moduuleista moduulit määrittelevät tiettyyn aihealueeseen (ajastus, animaatio yms.) liittyvän toiminnallisuuden ja tarvittavat elementit SMIL-näyttöohjelma toteuttaa tietyn määrän moduuleja Graafisen asemoinnin lisäksi SMIL mahdollistaa elementtien kytkemisen aikajanalle aikajana alkaa nollasta SMIL-tiedoston näyttämisen alkaessa ja etenee näytettävän ajan mukaan alueiden näkyvyys voidaan kytkeä aikajanaan www.hohde.com Hohde Consulting 2004 50 25

Metatieto Metatieto Metatieto on tietoa tiedosta tarkoituksena kuvata sisältöä sovitulla tavalla Ilman metatietoa tietomassat ovat käyttökelvottomia koneet eivät ymmärrä semantiikkaa Metatieto voi kuvata periaatteessa minkä tahansa muotoista sisältöä Metatieto täytyy kytkeä tietoon jollakin tavalla Yleensä tiedon ja metatiedon välillä on yksi-yhteen suhde www.hohde.com Hohde Consulting 2004 52 26

Resource Description Framework Metatiedon määrittelykieli esityskieliriippumaton Metatieto esitetään lausekkeilla kuvaavat dokumenttien ominaisuuksia ja keskinäisiä suhteita RDF-metatieto koostuu kolmikoista (triplet): subjekti määrittelyn kohde objekti määrittelyn arvo predikaatti määriteltävä ominaisuus Kolmikossa objekti sidotaan subjektiin predikaatilla www.hohde.com Hohde Consulting 2004 53 Semanttinen web Semanttinen web on kehys (framework), jonka avulla tietoa voidaan jakaa helposti sovellusten välillä Semanttisen webin ajatuksena on mahdollistaa koneiden välinen tiedonvaihto metatiedon avulla Yleensä siirrettävät dokumentit ovat XML-pohjaisia Semanttinen web ei ole sama WWW-ympäristö, johon olemme tottuneet Oleellista on välittää riittävästi semanttista tietoa (rakennetta ja metatietoa), jotta kone pystyy tulkitsemaan vastaanottamaansa tietoa www.hohde.com Hohde Consulting 2004 54 27

Kysymyksiä? Kommentteja? 28