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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

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

2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Laitos Institution Department Matemaattis-luonnontieteellinen tiedekunta Tekijä Författare Author Tietojenkäsittelytieteen laitos Topi Sarkkinen Työn nimi Arbetets titel Title XML-datan kysely Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Seminaarityö Tiivistelmä Referat Abstract Aika Datum Date Sivumäärä Sidoantal Number of pages 10 XML on suosittu metakieli tiedon esittämiseen ja siirtoon. Tässä työssä käsitellään kolmea kenties tärkeintä XML-datan kyselyteknologiaa: XPathia, XQuerya ja XSLT:tä. Avainsanat Nyckelord Keywords xml, xpath, xquery, xslt Säilytyspaikka Förvaringställe Where deposited Muita tietoja Övriga uppgifter Additional information

3 Sisältö 1 Johdanto 1 2 XPath Elementtien valinta Akselimäärittely Solmutesti Predikaatti Funktiot ja operaattorit XQuery FLWOR Ehtolauseet Funktiot XSLT Tiedostojen muunto Syntaksi Yhteenveto 9 Lähteet 11

4 1 1 Johdanto XML eli Extensible Markup Language on World Wide Web Consortiumin (W3C) kehittämä merkintäkieli [BPS98]. XML on eräänlainen metakieli, jolla voidaan määritellä myös muita kieliä. Se on luettavaa niin ihmisille kuin tietokoneillekin. XMLdokumenttien rakenne auttaa suurten tietomäärien jäsentämistä selkeämmäksi. XML:n spesifikaatiot ovat avoimesti saatavilla ja vapaasti käytettävissä [BPS98]. Viralliset spesifikaatiot määrittelee W3C, mutta avoimen luonteensa ansiosta myös useita muunnelmia ja laajennoksia on kehitetty. XML:ää käytetään yleisesti tiedon esittämiseen, dokumenttien tallentamiseen ja tiedonsiirtoon järjestelmien välillä, erityisesti internetin kautta. Useat suositut webpalveluiden viestinvälityspalvelut, kuten SOAP, pohjautuvat XML:ään sen laajan tuen ansiosta. XML-dokumentti on sisällöltään tekstiä, joka on yleensä oletuksena W3C:n suosituksen mukaisesti UTF-muotoista [BPS98]. Dokumentti koostuu elementeistä ja niitä tarkentavista attribuuteista. Elementit luovat dokumentille rakenteen. Ne muodostuvat alku- ja loppumerkeistä, joita kutsutaan tageiksi. Kuvassa 1 on yksinkertainen esimerkki XML-dokumentista. <?xml version="1.0" encoding="utf-8" standalone="yes"?> <tietojenkäsittelytiede> <kurssit> <kurssi id="123">ohjelmoinnin perusteet</kurssi> <kurssi id="432">ohjelmoinnin jatkokurssi</kurssi> <kurssi id="876">tietokantojen perusteet</kurssi> <kurssi id="967">rinnakkaisohjelmointi</kurssi> </kurssit> <henkilöstö> <henkilö tyyppi="opettaja">olli Opettaja</henkilö> <henkilö tyyppi="hallinto">ella Esimies</henkilö> <henkilö tyyppi="hallinto">jorma Johtaja</henkilö> </henkilöstö> </tietojenkäsittelytiede> Kuva 1: Esimerkki XML-dokumentista. Esimerkiksi kuvassa 1 jokainen henkilö on <henkilö> -elementin sisällä. Elementillä on

5 2 myös attribuutti tyyppi, joka kertoo henkilön aseman. Elementtejä voi olla sisäkkäin ja peräkkäin rajattomasti. XML:ää on kritisoitu sen monimutkaisuudesta ja paljon tilaa vievästä tyylistä, erityisesti liittyen tiedonvälitykseen järjestelmien välillä. Nykyään melko suosittuja vaihtoehtoja jäsennellyn datan lähettämiseen tietoverkoissa ovat muun muassa JSON ja YAML, joissa tieto mahdutetaan pienempään tilaan. XML on silti nykyäänkin erittäin relevantti teknologia. XML-muotoisen datan kyselyyn ja käsittelyyn on useita tekniikoita ja teknologioita, mutta tässä työssä keskitytään kolmeen melko keskeiseen teknologiaan: XPath, XQuery ja XSLT. XPath (XML Path Language) on W3C:n määrittelemä yksinkertainen kieli XMLdokumenttien osien löytämiseen ja valitsemiseen [ClD99]. Useat laajemmat kyselytoteutukset pohjautuvat XPathiin. Sitä käsitellään kappaleessa 2. XQuery on XPathia voimakkaampi SQL:ään verrattavissa oleva funktionaalinen kyselykieli XML-datan käsittelyyn [BCF02]. Myös sen taustalla on W3C. XQuerya käsitellään kappaleessa 3. XSLT (Extensible Stylesheet Language Transformations) on taas XML-dokumenttien muuntamiseen kehitetty merkintäkieli [Cla99]. Sen avulla XML-dokumentteja voi muuntaa muiksi dokumenteiksi, esimerkiksi HTML-sivuksi. XSLT:tä käsitellään kappaleessa 4. 2 XPath XPath eli XML Path Language on kyselykieli XML-dokumentin osien löytämiseen ja valitsemiseen [ClD99]. Se on W3C:n vuonna 1999 luoma ja suosittelema teknologia (W3C Recommendation 1999). Pelkän XML-dokumentin solmujen valitsemisen lisäksi XPathilla voi tehdä erilaisia operaatioita valituille solmuille. Käytettävänä on muun muassa aritmeettisia operaatioita ja merkkijonofunktioita. XPath on melko yksinkertainen kieli, mutta se toimii pohjana useille muille XMLkyselyteknologioille, kuten XQuerylle [BCF02].

6 3 2.1 Elementtien valinta XPath perustuu XML-dokumentin puumaiseen rakenteeseen, jota pitkin voi liikkua ja valita solmuja annettujen ehtojen mukaisesti [ClD99]. XPath-polkulausekkeessa määritellään eri askeleet, joilla päästään solmusta joko yhteen tai useampaan muuhun solmuun. Polkulauseke koostuu kolmesta osasta: akselimäärittelystä, solmutestistä ja valinnaisesta predikaatista eli ehtolauseesta. Lausekkeen rakenne jäljittelee URI-polkujen (Uniform Resource Identifier) muotoa. Lausekkeille on olemassa kaksi erilaista merkintätapaa: täysi syntaksi ja lyhennetty syntaksi. Tässä työssä keskitytään yleisempään lyhennettyyn syntaksiin Akselimäärittely Akselimäärittely kertoo liikkumissuunnan XML-dokumentin puussa, eli valitaanko esimerkiksi pelkästään nykyisen solmun lapsia, jälkeläisiä tai edeltäjiä. Oletuksena valitaan nykyisen solmun lapsia, jolloin sitä ei tarvitse erikseen määritellä lyhennettyä syntaksia käytettäessä. Lapsien valinnan lisäksi yleisiä akselimäärittelyjä ovat jälkeläiset (//) ja attribuutti Esimerkiksi lauseke /A/B valitsee kaikki elementtien A lapset B, mutta lauseke /A//B valitsee elementtien A kaikki jälkeläiset B, eli siis lapset ja muut syvemmältä löytyvät jälkeläiset Solmutesti Solmutesti määrittelee mitä dokumentista valitaan ja koostuu usein vain kohteen nimestä. Esimerkissä /A/B solmutestejä ovat siis elementtien nimet A ja B, jotka kertovat valittavat solmut Predikaatti Predikaatit eli ehtolauseet määrittävät löytyneille elementeille ehtoja, jotka niiden tulee täyttää tullakseen valituiksi. Sillä siis voidaan suodattaa mukaan vain halutut ehdot täyttävät elementit. Predikaatit eivät ole pakollinen osa XPath-lauseketta, mutta niitä voi myös olla useita missä tahansa lausekkeen askeleessa. Predikaatit määritellään askeleen lopussa hakasuluilla. Esimerkiksi lauseke

7 valitsee kaikki elementti A:n lapset B, joilla on attribuutti nimi ja sen arvona Topi. Huomaa, että on yllä mainittu akselimäärittely, joka tarkoittaa attribuuttia. Kuva 2 havainnollistaa XPath-lausekkeen toimintaa yksinkertaisella esimerkillä. Siinä valitaan tietojenkäsittelytieteen henkilöstöstä henkilöt, joilla on attribuutti tyyppi arvolla hallinto. XML-dokumentti: <tietojenkäsittelytiede> <kurssit> <kurssi id="123">ohjelmoinnin perusteet</kurssi> <kurssi id="432">ohjelmoinnin jatkokurssi</kurssi> <kurssi id="876">tietokantojen perusteet</kurssi> <kurssi id="967">rinnakkaisohjelmointi</kurssi> </kurssit> <henkilöstö> <henkilö tyyppi="opettaja">olli Opettaja</henkilö> <henkilö tyyppi="hallinto">ella Esimies</henkilö> <henkilö tyyppi="hallinto">jorma Johtaja</henkilö> </henkilöstö> </tietojenkäsittelytiede> XPath-lauseke: /tietojenkäsittelytiede/henkilöstö/henkilö[@tyyppi="hallinto"] Tulos: <henkilö tyyppi="hallinto">ella Esimies</henkilö> <henkilö tyyppi="hallinto">jorma Johtaja</henkilö> Kuva 2: Esimerkki XPath-hausta Funktiot ja operaattorit XML-dokumentin osien valitsemisen lisäksi XPathilla voi niille myös tehdä erilaisia operaatioita [ClD99]. XPathissa XML-dokumentin katsotaan rakentuvan neljästä eri tietotyypistä: solmujoukko, merkkijono, numero ja totuusarvo. Näitä tietotyyppejä voi käsitellä eri tavoin. Numeroita voi käsitellä aritmeettisilla operaattoreilla +, -, *, div (jakolasku) ja mod (modulo). Operaattorien lisäksi numeroiden manipuloimiseen on apuna joukko funktioita, muun muassa sum summan laskemiseen ja round pyöristämiseen.

8 5 Merkkijonojen käsittelyyn voi käyttää myös useita funktioita. Merkkijonoja voi esimerkiksi yhdistää concat-funktiolla tai merkkijonosta voi valita tietyn osan substring-funktiolla. Totuusarvoista voi tarkistaa niiden olevan joko true tai false ja käyttää tätä vertailuissa tai ehdoissa. Solmujoukoista voi muun muassa laskea solmujen määrän count-funktion avulla. 3 XQuery XQuery (XML Query) on kappaleessa 2 esitellyn XPathin tapaan W3C:n suunnittelema kysely- ja ohjelmointikieli jäsennellyn datan kyselyyn ja muuntamiseen [BCF02]. XQueryn käyttö ei rajoitu pelkästään XML-dokumentteihin, vaan sitä voi käyttää myös esimerkiksi JSON-datan tai HTML-sivujen kanssa. XQuery rakentuu osittain XPath-lausekkeiden pohjalle, mutta on huomattavasti sitä laajempi ja voimakkaampi kieli [MeB06]. XQuerylla voi tehdä myös SQL-tyyppisiä kyselyitä, jolloin tuloksena on se, että XML-dokumentteja voidaan tavallaan käsitellä kuten tietokantaa. 3.1 FLWOR XQuery käyttää XPath-lausekkeita XML-dokumentin navigoimiseen [BCF02]. Siinä voi siis käyttää esimerkiksi XPathin ehtolauseita navigoinnin apuna, mutta XQuery ei kuitenkaan rajoitu pelkästään niihin. XPath-lausekkeiden lisäksi hakua voi tehostaa niin kutsutulla FLWOR-lausekkeella, joka tarkoittaa SQL-henkistä kyselyä ja sen eri osien rakenteita (for, let, where, order by, return). Onkin osuvaa sanoa XQueryn olevan XML-dokumenteille kuten SQL on tietokannoille. For-määrittely kertoo mitä dokumenttia tai kokoelmaa kysely koskee ja määrittelee XPathia käyttäen mahdolliset rajaukset hakuun. Se myös asettaa löydetyt elementit määriteltyyn muuttujaan ja aloittaa niiden iteroimisen. Lauseke for $x in doc("tktl.xml")/kurssit/kurssi valitsisi siis kuvan 3 dokumentista (olettaen sen olevan tallennettuna tiedostoon tktl.xml) kaikki kurssielementit ja kohdistaisi kyselyn niihin. Muuttuja $x sisältää näin kurssit ja mahdollistaa niiden tarkemman käsittelyn niitä

9 6 iteroidessa. XML-dokumentti tktl.xml: <tietojenkäsittelytiede> <kurssit> <kurssi> <id>132</id> <nimi>ohjelmoinnin perusteet</nimi> </kurssi> <kurssi> <id>875</id> <nimi>rinnakkaisohjelmointi</nimi> </kurssi> </kurssit> <henkilöstö> <henkilö tyyppi="opettaja">olli Opettaja</henkilö> <henkilö tyyppi="hallinto">ella Esimies</henkilö> <henkilö tyyppi="hallinto">jorma Johtaja</henkilö> </henkilöstö> </tietojenkäsittelytiede> XQuery-kysely: for $x in doc("tktl.xml")/tietojenkäsittelytiede/kurssit/kurssi where $x/nimi='rinnakkaisohjelmointi' return $x/id Tulos: <id>875</id> Kuva 3: Esimerkki XQuery-kyselystä. Let-määrittelyssä voidaan asettaa muuttujia niin haluttaessa. Esimerkiksi let $viisi := 5 asettaisi muuttujaan $viisi arvon 5. Where-lausekeessa haulle voidaan asettaa SQL-tyylisiä ehtoja. Sillä voidaan siis valita tuloksiin mukaan vain tietyt ehdot täyttävät elementit. Ehdot voivat kohdistua elementtiin itseensä, elementin jälkeläiseen tai kumman tahansa attribuutteihin. Esimerkiksi ehto where $x/nimi = 'Tietokantojen perusteet' valitsisi vain elementit, joilla on lapsi nimi ja sen arvona 'Tietokantojen perusteet'. Arvojen vertaamiseen on käytössä tutut operaattorit =,!=, <, <=, > ja >=. Order by määrittelee mihin järjestykseen palautetut tiedot järjestetään. Esimerkiksi

10 7 order by $x/id järjestäisi palautettavat tiedot id-elementissä olevan arvon mukaiseen järjestykseen. Return-lauseke määrittelee mitä valituista tiedoista palautetaan. Sen avulla voidaan esimerkiksi koko elementin sijaan palauttaa vain elementin tietty osa tai attribuutti. Esimerkiksi return $x/nimi palauttaisi vain nimielementit. 3.2 Ehtolauseet XQueryssa on mahdollista käyttää myös If-Then-Else -ehtolauseita, jotka ovat hyödyllisiä erityisesti kun halutaan tulostaa tietoa ehtojen mukaan [MeB06]. Kuvassa 4 on esimerkki siitä, miten ehtolauseita voi käyttää hyödyksi tiedon muuntamisessa halutunlaiseksi. Siinä tietyn attribuutin arvon omaavat elementit muunnetaan toisenlaisiksi elementeiksi. XML-dokumentti tktl.xml: <tietojenkäsittelytiede> <kurssit> <kurssi id="123">ohjelmoinnin perusteet</kurssi> <kurssi id="432">ohjelmoinnin jatkokurssi</kurssi> <kurssi id="876">tietokantojen perusteet</kurssi> <kurssi id="967">rinnakkaisohjelmointi</kurssi> </kurssit> <henkilöstö> <henkilö tyyppi="opettaja">olli Opettaja</henkilö> <henkilö tyyppi="hallinto">ella Esimies</henkilö> <henkilö tyyppi="hallinto">jorma Johtaja</henkilö> </henkilöstö> </tietojenkäsittelytiede> XQuery-lauseke: for $x in doc( tktl.cml )/tietojenkäsittelytiede/henkilöstö/henkilö return if ($x/@tyyppi= opettaja ) then <professori>{data($x)}</professori> else <hallinto>{data($x)}</hallinto> Tulos: <professori>olli Opettaja</professori> <hallinto>ella Esimies</hallinto> <hallinto>jorma Johtaja</hallinto> Kuva 4: Esimerkki XQueryn ehtolauseesta muuntamisen apuna.

11 Ehtolauseiden käyttämisessä XQueryssa on hyvä huomata, että else-määrittely on aina pakollinen ehdon jälkeen. Sen voi tosin vain jättää tyhjäksi Funktiot XQuery ja kappaleessa 2 esitelty XPath jakavat saman funktiokirjaston [BCF02]. XQueryssa on siis käytössä kaikki samat funktiot tiedon käsittelyyn kuin XPathissakin. Funktioita löytyy esimerkiksi merkkijonojen käsittelyyn ja matemaattisiin toimenpiteisiin. XQueryn erikoisuus on käyttäjän itse määrittelemät funktiot, joissa tulee hyvin esiin XQueryn olemus myös ohjelmointikielenä kyselykielen lisäksi. Omat funktiot ovat hyödyllisiä, jos haluaa tehdä automaattisesti monimutkaisempia toimintoja datalle. Funktion määrittely aloitetaan declare function -käskyllä, jossa määritellään funktion mahdolliset parametrit ja palautettavan datan tyyppi. Itse funktio kirjoitetaan aaltosulkujen sisään. 4 XSLT XSLT (Extensible Stylesheet Language Transformations) on XML-pohjainen kieli XML-dokumenttien muuntamiseksi toisiksi dokumenteiksi, kuten esimerkiksi HTMLsivuiksi tai tekstitiedostoiksi [Clar99]. XPathin ja XQueryn lisäksi myös XSLT on W3C:n kehittämä ja ylläpitämä. Sen hakutoiminnot myös perustuvat XPathiin XQueryn tavoin. 4.1 Tiedostojen muunto XSLT:n perustana on XSL-tyylitiedostot, jotka määrittelevät miten lähdedokumentti muunnetaan uudeksi dokumentiksi [Clar99]. XSLT:n voi mieltää olevan XML:lle osittain vastaavanlainen teknologia kuin CSS on HTML:lle. XSLT-prosessorille siis annetaan lähdedokumentti ja XSL-tyylitiedosto, joka sisältää muunnosmäärittelyt. Prosessori luo niiden pohjalta uuden dokumentin. XSLT:n ja XQueryn toiminallisuudet ovat osittain päällekkäisiä, sillä myös XQuery kykenee tiedostojen muuntoon [MeB06]. Molemmilla on kumminkin omat vahvuutensa, koska kummallakin on omat pääkäyttötarkoituksensa.

12 9 4.2 Syntaksi XSL-tyylitiedostoon määritellään pohjia muunnoksille <xsl-template match= / >elementillä [Clar99]. Match-attribuuttiin asetetaan XPath-lausekkeella alkuperäisen dokumentin osa, johon pohjaa halutaan käyttää. Elementillä <xsl:value-of select= > valitaan jokin tietyn elementin arvo käytettäväksi tyylitiedostossa. Attribuuttiin select asetetaan jälleen XPath-lausekkeella se elementti tai attribuutti, jonka arvo halutaan. Jotta elementtejä ei tarvitsisi valita yksitellen, XSLT tarjoaa <xsl:for-each select=""> -tagin, jolla voi iteroida kokoelmia. Silmukan sisällä voi taas käyttää value-of-toimintoa tiettyjen arvojen näyttämiseen. Iteroitavan kokoelman voi myös järjestää <xsl:sort>komennolla. Ehtolauseiden toteuttamiseen voi XSLT:ssä käyttää käskyjä <xsl:if> ja <xsl:choose>. Kuten XQuery, myös XSLT jakaa saman funktiokirjaston kuin XPath. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html> <body> <h2>laitoksen kurssit</h2> <ul> <xsl:for-each select="tietojenkäsittelytiede/kurssit"> <li><xsl:value-of select="kurssi"/></li> </xsl:for-each> </ul> </body> </html> </xsl:template> </xsl:stylesheet> Kuva 5: Esimerkki XSL-tyylitiedostosta. 5 Yhteenveto W3C:n kehittämä XML on yhä suosittu metakieli tiedon esittämiseen ja siirtämiseen, varsinkin web-maailmassa. XML-datan kyselyyn on useita teknologioita, joista tässä työssä käsiteltiin kolmea:

13 10 XPathia, XQuerya ja XSLT:tä. XPath on luonteeltaan oikeastaan melko yksinkertainen, mutta se toimii pohjana useille muille teknologioille, jotka käyttävät sitä kyselyjen alustana. XQuery taas on paljon voimakkaampi datan etsimisessä ja jäsentämisessä. XSLT:n vahvuus sen sijaan on XML-dokumenttien muuntaminen.

14 11 Lähteet BCF02 Boag, S., Chamberlin, D., Fernández, M. F., Florescu, D., Robie, J., Siméon, J., ja Stefanescu, M. XQuery 1.0: An XML Query Language. World Wide Web Consortium Recommendation, BPS98 Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E., ja Yergeau, F. Extensible Markup Language (XML). World Wide Web Consortium Recommendation, Clar99 Clark, J. XSL Transformations (XSLT). World Wide Web Consortium Recommendation, ClD99 Clark, J., ja DeRose, S. XML Path Language (XPath) version 1.0. World Wide Web Consortium Recommendation, MeB06 Melton. J., Buxton S. Querying XML: XQuery, XPath, and SQL/XML in Context. Elsevier, 2006, sivut

Web-teknologiat. XML-datan kysely Topi Sarkkinen

Web-teknologiat. XML-datan kysely Topi Sarkkinen Web-teknologiat XML-datan kysely Topi Sarkkinen Sisältö XML (lyhyesti) XPath XQuery XSLT XML Extensible Markup Language Ihmisten ja koneiden luettava metakieli, jolla voidaan määritellä muitakin kieliä

Lisätiedot

arvostelija OSDA ja UDDI palveluhakemistoina.

arvostelija OSDA ja UDDI palveluhakemistoina. Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

XQuery tietokannan kyselykielenä

XQuery tietokannan kyselykielenä XQuery tietokannan kyselykielenä Miro Lehtonen 31.10.2007 OUGF-syysseminaari Tietojenkäsittelytieteen laitos Sisältö Johdanto XQueryn perusteet + esimerkkejä Oracle ja XQuery Miro Lehtonen, XQuery tietokannan

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1 Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Digitaalisen median tekniikat JSP ja 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 6: XSLT AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XSL Transformations XSLT tyylisivun rakenne mallineet nykyinen solmu Edistyneemmät piirteet toisto muuttujat nimetyt mallineet ehdolliset

Lisätiedot

Extensible Stylesheet Language (XSL)

Extensible Stylesheet Language (XSL) Extensible Stylesheet Language (XSL) Tyylitiedostojen määrittely Ctl230:Luentokalvot 25.10.2004 Miro Lehtonen Johdanto Dokumenttien muotoilu tyylitiedostoilla 3XML: yleistetty merkkaus Kuvaa sisällön muttei

Lisätiedot

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

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus 9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus XSL-muunnos voi tietenkin tuottaa myös tiettyyn nimiavaruuteen liittyviä kohdedokumentteja (tarvitaan aina jo esim. XHTML-sovelluksissa!) Helpoimmillaan

Lisätiedot

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month

Lisätiedot

Aika/Datum Month and year Kesäkuu 2012

Aika/Datum Month and year Kesäkuu 2012 Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen

Lisätiedot

Helsingin yliopisto/tktl XML-metakieli XSLT XSL - extensible stylesheet language XSLT

Helsingin yliopisto/tktl XML-metakieli XSLT XSL - extensible stylesheet language XSLT XSL - extensible stylesheet language XSL kehitettiin xml aineistojen esitysmuodon määrittelyyn (T ~ Transformations) dokumentin rakenteen tai sisällön muunnokset 1.0 (http://www.w3.org/tr/xslt) 1999 2.0

Lisätiedot

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen

Lisätiedot

Luento 4: XPath ja XLink

Luento 4: XPath ja XLink Luento 4: XPath ja XLink AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XPath ja XLink XPath lausekkeet joukko-oppi askeleet siirtymät solmutestit ehdot funktiot XPathin käyttö XLink XML Base XPointer

Lisätiedot

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

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002 , XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

W3C-teknologiat ja yhteensopivuus

W3C-teknologiat ja yhteensopivuus W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa

Lisätiedot

Paikkatiedot ja Web-standardit

Paikkatiedot ja Web-standardit Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide

Lisätiedot

W3C ja Web-teknologiat

W3C ja Web-teknologiat W3C ja Web-teknologiat Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium (W3C) on kansainvälinen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Luonnontieteiden popularisointi ja sen ideologia

Luonnontieteiden popularisointi ja sen ideologia Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro

Lisätiedot

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

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

XSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia

XSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia XSLT - ohjelmoinnin perusteet Jaana Holvikivi Metropolia Johdanto: Muunnetaan XML-dokumentti HTML-muotoon (transformation)

Lisätiedot

! #! %! & #!!!!! ()) +

! #! %! & #!!!!! ()) + ! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,

Lisätiedot

Ensimmäiset XPath-lausekkeet

Ensimmäiset XPath-lausekkeet Ensimmäiset XPath-lausekkeet Kaavat ja predikaatit Ctl230: Luentokalvot 8.11.2004 Kontekstiin perustuva muotoilu Elementin sijainti dokumentissa 3 3Sama elementti, eri

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Rakenteiset dokumentit Mitä hyötyä niistä on?

Rakenteiset dokumentit Mitä hyötyä niistä on? Rakenteiset dokumentit Mitä hyötyä niistä on? AIPA-hankeseminaari Helsinki 28.1.2011 Airi Salminen Jyväskylän yliopisto http://users.jyu.fi/~airi/ Airi Salminen, Rakenteiset dokumentit. Mitä hyötyä? 28-01-2011

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Ohjelmointiharjoituksia Arduino-ympäristössä

Ohjelmointiharjoituksia Arduino-ympäristössä Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet

Lisätiedot

www.hohde.com Hohde Consulting 2004

www.hohde.com Hohde Consulting 2004 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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

Lisätiedot

W3C, Web-teknologiat ja XML

W3C, Web-teknologiat ja XML W3C, Web-teknologiat ja XML Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: XML on W3C:n

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos

Lisätiedot

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);

Lisätiedot

XML / DTD / FOP -opas Internal

XML / DTD / FOP -opas Internal XML / DTD / FOP -opas Internal Reviewed: - Status: pending approval Approved by: - Author: Sakari Lampinen Revision: 1.0 Date: 15.10.2000 1 Termit DTD (data type definition) on määrittely kielelle, niinkuin

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

Lisätiedot

XSL-muunnokset. 9 XSL-muunnokset

XSL-muunnokset. 9 XSL-muunnokset 9 XSL-muunnokset XML-dokumenttien keskeinen rooli on välittää tietoa sovellusten välillä. Yksinkertaisimmillaan tämä tarkoittaa sitä että tieto tuotetaan suoraan tietyn sovelluksen tekstiformaattiin. Lähestymistavan

Lisätiedot

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos

Lisätiedot

XML Technologies and Applications - harjoitustyö -

XML Technologies and Applications - harjoitustyö - XML Technologies and Applications - harjoitustyö - TURUN YLIOPISTO Informaatioteknologian laitos Tietojenkäsittelytiede Harjoitustyö Helmikuu 2009 Jyri Lehtonen (72039) jyri.lehtonen@utu.fi (yksin tehty

Lisätiedot

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

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

Lisätiedot

M. Merikanto 2012 XML. Merkkauskieli, osa 2

M. Merikanto 2012 XML. Merkkauskieli, osa 2 XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Oppimateriaalin kokoaminen ja paketointi

Oppimateriaalin kokoaminen ja paketointi Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

XML ja Web Services update

XML ja Web Services update XML ja Web Services update Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: Extensible Markup Language (XML) ja

Lisätiedot

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

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

Seminaari: HL7 versio 2

Seminaari: HL7 versio 2 hyväksymispäivä arvosana arvostelija Seminaari: HL7 versio 2 Markus Koski Helsinki 29.9.2014 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF

Lisätiedot

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

Sosiaalihuollon asiakirjastandardi kehittyy. Konstantin Hyppönen Erikoissuunnittelija Tietojenkäsittelytieteen laitos Kuopion yliopisto Sosiaalihuollon asiakirjastandardi kehittyy Konstantin Hyppönen Erikoissuunnittelija Tietojenkäsittelytieteen laitos Kuopion yliopisto 1 Esityksen sisältö Asiakirjastandardin lähtökohdat Suunnitteluperiaatteet

Lisätiedot

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

XML, XHTML ja CSS. T-111.361 Hypermediadokumentin laatiminen. Mikko Pohja XML, XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen Mikko Pohja Sisältö XML Yleensä Eri kieliä XHTML CSS XSL XML EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Helsingin yliopisto/tktl XML-metakieli XPath

Helsingin yliopisto/tktl XML-metakieli XPath XML-perusrakenteen ympärille on kehitetty tekniikoita ja standardeja kuvaamaan XML-rakenteisen tiedon käsittelyä sekä tietojen välisiä kytkentöjä. Näissä keskeinen tarve on pystyä osoittamaan operaatioiden

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka

Lisätiedot

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

XML johdanto, uusimmat standardit ja kehitys

XML johdanto, uusimmat standardit ja kehitys johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama

Lisätiedot

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

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Mallintaminen; kurssipalautejärjestelmä

Mallintaminen; kurssipalautejärjestelmä Thomas Gustafsson & Saara Salminen Mallintaminen; kurssipalautejärjestelmä Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Mallintaminen, tehtävä 1 21.1.2012 Tiivistelmä Tekijä(t)

Lisätiedot

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

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Terveyden

Lisätiedot

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista

5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista 5 XML Query Language Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista tietokantoina. Erityisesti, XML-skeema voi vaatia että tietty rakenne toimii (esiintymässä)

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

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

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

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

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: Semanttinen Web (SW) on

Lisätiedot

W3C ja Web-teknologiat

W3C ja Web-teknologiat W3C ja Web-teknologiat Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium (W3C) on kansainvälinen

Lisätiedot

XSLT - ohjelmaesimerkkejä. Jaana Holvikivi Metropolia

XSLT - ohjelmaesimerkkejä. Jaana Holvikivi Metropolia XSLT - ohjelmaesimerkkejä Jaana Holvikivi Metropolia XML source XSLT source Source tree Transformation Stylesheet tree Result tree Serialize XML XHTML text Lajittelu, Sorting

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

Lisätiedot

XML-evoluutio ja kestävä kehitys

XML-evoluutio ja kestävä kehitys XML-evoluutio ja kestävä kehitys Ossi Nykänen Tampere University of Technology (TUT), Digital Media Institute (DMI), W3C Finnish Office Esitelmä Hyvin lyhyt versio: XML on W3C:n suosittama perhe tekstiformaatteja

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt

Lisätiedot

Johdatus XML teknologioihin

Johdatus XML teknologioihin Johdatus XML teknologioihin Metropolia J. Holvikivi XML metakieli Extensible Markup Language rakenteellinen esitystapa tiedon vaihtoon, talletukseen, yhdistämiseen ja julkaisemiseen yleinen rakenteenkuvauskieli,

Lisätiedot

SQL:N PERUSTEET MARKKU SUNI

SQL:N PERUSTEET MARKKU SUNI SQL:N PERUSTEET MARKKU SUNI Relaatiomallisen tietokannan käsittely Tietojen saanti, talletus ja päivitys tapahtuu SQL-kielellä Yhtä operaatiota sanotaan kyselyksi (query) Kyselyjä voidaan laittaa peräkkäin

Lisätiedot

5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista

5 XML Query Language. Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista 5 XML Query Language Skeemojen opiskelun myötä olemme polulla joka luontevasti johtaa ajatukseen XMLdokumenteista tietokantoina. Erityisesti, XML-skeema voi vaatia että tietty rakenne toimii (esiintymässä)

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot