ELEC-C1220 Automaatio 2 - XML

Koko: px
Aloita esitys sivulta:

Download "ELEC-C1220 Automaatio 2 - XML"

Transkriptio

1 ELEC-C1220 Automaatio 2 - XML XML merkintäkielten perusteet Luento1 Pekka Aarnio

2 Luento 1: OSA1 XML MERKINTÄKIELTEN PERUSTEET

3 Luennon sisältö OSA 1 1. XML ja Puut 2. XML Extensible Markup Language 3. XML-dokumentin rakenne OSA 2 1. XPath ja dokumentin osien osoittaminen 2. Xpath-funktiot 3. Xpath esimerkit

4 XML esimerkit MIKÄ XML?

5 Mitä on XML? XML (Extensible Markup Language) on tiedon tallentamista ja rakenteen kuvaamista koskeva määrittely. Kysymyksiä esim_1-1.xml dokumentista 1. Mitä tietoa dokumenttiin on tallennettu? 2. Minkälainen on tiedon rakenne? 3. Minkälaista merkkausta (tags) on käytetty tiedon rakenteen kuvaamiseen? 4. Entä selviääkö dokumentista tiedon merkitys? Kuva: esim_1-1.xml

6 Mitä on XML? Joitain vastauksia kysymyksiin dokumentista: 1. Dokumentti sisältää tietoa tästä kurssista. 2. Tiedot on esitetty hierarkkisena rakenteena, joka kertoo, että kurssitiedot koostuvat koodista, nimestä ja moduulitiedoista ja että Moduulien tiedot kertovat jotain luennoista ja harjoituksista 3. Tietojen ja sen rakenteen kuvaamiseen on luotu seuraavat merkinnät: kurssi, koodi, nimi, moduuli jne. 4. Tiedon merkitys selviää osittain ihmislukijalle, mikäli merkinnöissä käytetyt käsitteet ovat ymmärrettäviä. Tietokone ei ymmärrä käytettyjen käsitteiden merkitystä. Kuva: esim_1-1.xml Huomaa, että: Tässä XML-dokumentissa esitetyn tiedon rakenne vastaa osittain myös kohteen, kurssin, todellista sisäistä loogista rakennetta!

7 XML - Puurakenne XML-merkintäkielillä voidaan kuvata hierarkkisia puumuotoisia tietorakenteita (tree) Merkinnöillä nimetään puun solmut (node) Puun lehtisolmut (leaf nodes) sisältävät varsinainen tekstitiedon

8 XML - Puurakenne Puulla on vain yksi juurisolmu (root node) Solmuilla voi olla monta lapsi-solmua (child node) mutta vain yksi isä-solmu (parent node) Kaaret (branch) puun solmujen välillä (parent-child relation) voivat vastata mitä tahansa todellista relaatiota esitettävän kohteen osien/objektien välillä osa-kokonaisuus (tai kokonaisuus-osa); luokka-instanssi; ominaisuus; jokin assosiaatio; jne. Sama tietosisältö voidaan siis esittää monella erilaisella tavalla puurakenteena (aiheesta lisää attribuuttien yhteydessä) Kuva: Tuotantolinjan fyysisen rakenteen esitys kokonaisuus-osa hierarkiana.

9 XML - Puurakenne

10 XML - Esimerkki Tuoteluettelot esitetään usein yksinkertaisena listana Tuotteet listattu ja tuotteen ominaisuudet listattu Järjestämättömänä tai järjestettynä listana

11 XML - Esimerkki AutomationML InstanceHierarchy (parent-child/consists-of-relation)..prosessit koostuvat osa-prosesseista

12 XML - Esimerkki AutomationML Standard Library (osa toiminnallisuusluokista) Kuljetin-luokan aliluokat

13 PLCOpenXML XML - Esimerkki

14 XML merkintäkielet EXTENSIBLE MARKUP LANGUAGE

15 Merkintäkielet - yleisesti Merkintäkieli on tekstipohjainen kieli, jolla voidaan kuvata rikasta joukkoa tietoa hyvin yksinkertaisen säännöstön pohjalta Merkintäkielellä voidaan annotoida (=merkitä) tekstiä siten, että merkinnät ovat eroteltavissa tekstistä Yleensä merkintäkielen avulla luodaan tiedostoon haluttu rakenne koneet tulkitsevat tätä rakennetta ennalta määrättyjen sääntöjen avulla Yleisimmät merkintäkielet ovat XML:n määrittelyn mukaisia SGML, HTML ja JSON ovat myös merkintäkieliä HTML-kielellä merkataan miten tieto esitetään web-sivulla; se ei siis kuvaa itse tietosisällön rakennetta. JSON (JavaScript Object Notation) soveltuu tietosisällön kuvaamiseen selaimissa ja web-ympäristössä (Huom: JSON ei ole XML-kieli)

16 Extensible Markup Language XML Extensible Markup Language (XML) on World Wide Web Consortiumin (W3C) suositus elektronisen tiedon esitysmuodoksi ( XML määrittelee ainoastaan tavan esittää tietoa (kieliopin, syntaksin) se ei ota kantaa itse esitettävään tietoon eikä myöskään määrittele primitiivijoukkoa (merkkien nimiä), jolla tietoa pitäisi kuvata XML on metakieli XML:lla voidaan määritellä uusia merkintäkieliä, joilla vasta kuvataan itse tietoa ja sen rakennetta puhuttaessa XML-dokumentista yms. tarkoitetaan dokumenttia, joka on XML-määritysten mukainen eli oikeamuotoinen (XML-määritysten mukaisella kielellä merkattu)

17 W3C - XML:n tavoitteet Mahdollisuus käyttää dokumentteja Internetissä Rakenne on formaali ja tiivis Laaja ohjelmistotuki XML:ää käyttävien sovellusten ohjelmointi on helppoa Dokumentit ovat lukukelpoisia myös ihmisille Dokumentin suunnittelu on nopeaa Dokumenttien laadinta on helppoa Vapaavalintaisten ominaisuuksien määrä on minimoitu XML:n ei tarvitse olla ytimekästä Yhteensopivuus SGML:n kanssa Kielten kompleksisuus on sopiva [Origin and Goals:

18 XML:N KÄYTTÖSOVELLUKSET

19 XML Automaatiossa - Binääridata vs. XML Laitteiden mittaustietojen lukemisessa ja niiden suorassa ohjauksessa käytetään perinteisesti ns. binääristä datasiirtoa Tämä on mahdollista sillä ohjaussovellukset on ohjelmoitu juuri ko. tarkoitukseen ja ne tietävät miten datasekvenssit on koodattu binäärimuotoon ja missä järjestyksessä ne lähetetään Uusien älykkäiden mitta- ja toimilaitteiden dataa on kuitenkin tarve lukea useaan eri tietojärjestelmään, joiden sovellukset eivät voi tietää miten binääridata on koodattu OPC UA on uusi automaation tiedonsiirron rajapintastandardi, joka mahdollistaa laitetietojen siirron XML-muodossa, jolloin tieto on kaikkien tehtaan IT-järjestelmien luettavissa ja ymmärrettävissä , OPC UA binary OPC UA xml

20 XML:n käyttösovellukset tietosisältö XMLprosessori XMLdokum. Sovellus XML:n käytön perusperiaate: XML-dokumenttien käyttö on yleensä kaksivaiheista: 1. XML-prosessori lukee XML-dokumentin jostakin lähteestä 2. 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 XMLdokumenttien 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

21 XML-DOKUMENTIN RAKENNE

22 XML:n rakenneosat XML-dokumentti voi sisältää seuraavia rakenteita: elementit muodostavat dokumentin rungon ja rakenteen attribuutit antavat lisämääreitä elementeille tekstisisältö/leipäteksti elementtien sisällä olevaa tekstiä kommentit kommentteja ihmisille tai koneilta väliaikaisesti piilotettuja osioita käsittelyohjeet ohjeita dokumentin koneelliseen käsittelyyn entiteetit erikoismerkkien esittämiseen ja dokumenttien liittämiseen toisiinsa XML 1.0 Spec:

23 Rakenneosat: Elementit Dokumentti koostuu elementeistä (element) Jokaisella elementillä on nimi, joka kirjoitetaan kulmasulkujen ( < ja > ) sisään Elementillä on yleensä alkuosa <element> ja loppuosa </element>, joiden väliin kirjoitetaan elementin tekstisisältö/leipäteksti <Luento> XML-dokumentin rakenne </Luento> <Pvm> </Pvm> Yksiosaisia elementtejä kutsutaan tyhjiksi elementeiksi (empty element) merkitään lisäämällä kauttaviiva elementin nimen perään tai Alkuosa ja loppuosa välittömästi peräkkäin <Harjoitukset/> < Harjoitukset ></Harjoitukset > Huom: Elementtien sijaan puhutaan myös tageista (tag), joilla tarkoittaa välillä elementtiä, välillä elementin alku- tai loppuosaa (start/end tag)! Huom: Tyhjä elementti ei ole merkityksetön. Se ei siis ole sama kuin ei lainkaan ko. elementtiä!

24 Rakenneosat: Elementtien nimet Elementtien nimille on tiettyjä sääntöjä Nimi voi alkaa ainoastaan kirjaimella tai alaviivalla Nimessä on sallittu käyttää kirjaimia, numeroita, ala- ja tavuviivoja ja pisteitä (huom: ei välilyöntejä (white space)) Nimen kirjainten koolla on merkitystä (case sensitive) HUOM: Vaikka XML on unicodea, niin kannattaa välttää skandinaavisia merkkejä ja muita erikoiskirjaimia, sillä kaikki ohjelmat eivät välttämättä osaa tulkita niitä oikein!

25 Dokumentin rakenne: Elementtien sisäkkäisyys Elementit voivat sisältää toisia elementtejä ja/tai leipätekstiä Dokumentin ulointa elementtiä kutsutaan juurielementiksi (root element) Sisempiä elementtejä kutsutaan lapsielementeiksi (child element) ja ulompaa isäelementiksi (parent element) Sisäkkäisyydestä muodostuu dokumentin rakenne sisäkkäisyys ei voi mennä ristiin Esimerkki: < Moduuli > < Luennot > </Luennot > < Harjoitukset > </Harjoitukset > < /Moduuli>

26 Rakenneosat: Tekstisisältö Elementit voivat sisältää leipätekstiä sisällään lapsielementit ja leipäteksti/tekstisisältö voivat vaihdella vapaasti: <Moduuli> XML-moduuli <Luento/> Harjoitukset </Moduuli> Teknisesti, jokainen erillinen leipätekstisirpale sijoitetaan omaan leipätekstisolmuun XML-puussa yllä olevassa esimerkissä on kaikkiaan neljä solmua:» elementti Moduuli"» teksti XML-moduuli "» elementti Luento"» teksti Harjoitukset "

27 Rakenneosat: CDATA-alue Leipäteksti voi olla lähes mitä tahansa tekstiä ja erikoismerkkejä (kirjaimia, numeroita, merkkejä) Leipätekstissä ei voi kuitenkaan käyttää XML:n syntaksissa varattuja merkkejä: <, > ja & merkkejä EI SAA KÄYTTÄÄ näitä varten on olemassa korvausmerkinnät (<, > ja &), Entiteettejä &entiteetti; käytetään lyhennys- tai korvausmerkintänä tietylle merkille tai merkkijonolle Silloin kuin entiteettien käyttö ei ole mahdollista (ks. HUOM), voidaan käyttää CDATA-aluetta (CDATA section), joka voi sisältää mitä tahansa merkkejä alue aloitetaan merkeillä <![CDATA[ ja päätetään merkkeihin ]]> HUOM: Mikä tahansa merkki voidaan ilmoittaa entiteettinä muodossa missä luku on merkin Unicode heksadesimaalimuodossa! XML-prosessori ei jäsennä/parsi CDATA-aluetta (Unparsed Character Data) HUOM: XML-muotoinen koodi, jota ei haluta XMLprosessorin parsittavaksi, täytyy sisällyttää CDATA-alueeseen (XML-data, joka ei kuulu siirrettävän XML-dokumentin rakenteeseen vaan on sen datakuormaa)!

28 Rakenneosat: Tyhjät merkit Tyhjiksi merkeiksi (white spaces) luetaan välilyönnit, tabulaattorit, rivinvaihdot yms. XML-dokumentti yleensä tulostetaan siistiin muotoon jokainen elementti omalla rivillään tällöin elementtien väliin voi syntyä tyhjiä merkkejä sisältäviä leipätekstisirpaleita XML-käsittelijän voi ohjata hävittämään pelkästään tyhjistä merkeistä koostuvat leipätekstisirpaleet HUOM: Tyhjät merkit, erityisesti niiden ilmestyminen ja katoaminen, aiheuttavat useasti ongelmia dokumenttien käsittelyssä (XSL muunnokset)!

29 Rakenneosat: Attribuutit Elementteihin voidaan lisätä tietoa (tekstisisältöä) myös attribuuteilla Attribuutti on avain-arvopari attribuutin nimeä vastaa sille annettu arvo, joka esitetään lainaus- tai heittomerkeissä arvon sisältö voi olla mitä tahansa tekstiä ja entiteettejä jokin arvo on välttämätön; vähintäänkin tyhjä merkkijono: yhdessä elementissä voi olla useita attribuutteja nimen tulee olla yksikäsitteinen <empty-element attr1="value" attr2= value2 /> <Kurssi koodi= ELEC-C1220" jaksot= > Automaatio II </Kurssi>

30 Dokumentin rakenne: Attribuutti vs. lapsielementti Attribuutti voidaan aina korvata lapsielementillä attribuutin nimestä saadaan elementin nimi attribuutin arvosta saadaan elementin tekstisisältö Valinta attribuutin ja lapsielementin välillä on dokumentin rakennetta koskeva päätös (usein makukysymys) Elementin tietosisältöön liittyvä metatieto (=tietoa tiedosta) kannattaa esittää attribuutin arvona Lapsielementin käyttö mahdollistaa myöhemmän laajentamisen ja sallii useita arvoja Attribuuttiarvon esitysmuoto voidaan määritellä tarkasti (myös tyhjät merkit) Attribuuttien käsittely on yleensä helpompi ohjelmoijille XML-käsittelijä standardoi tyhjät merkit attribuuttien arvoissa (säilyttää), muttei elementeissä <kurssi koodi= ELEC-C1220" jaksot= III-IV > Automaatio II </kurssi> <kurssi> <koodi> ELEC-C1220 </koodi> <jaksot> III-IV <jaksot/> <nimi> Automaatio 2 </nimi> </kurssi>

31 Rakenneosat: Alkumäärittely, käsittelyohjeet ja kommentit XML-dokumentin alkumäärittely ei ole prosessointiohje vaikka se on samaa muotoa <?xml version="1.0" encoding="utf-8"?> Käsittelyohjeet vastaavat kommentteja koneelliselle käsittelijälle <?prosessori attr1=????> Niillä voidaan antaa ohjeita myös erilaisille koneelliselle käsittelijöille <?xml-stylesheet type="text/xsl ref= production_line_to_aml.xsl?> Kommentteihin voi kirjoittaa selventävää tietoa dokumentin lukijalle (ihmiselle) <!-- Dokumentti on päivitetty > HUOM: Kommentti on näppärä tapa sulkea osa dokumentista konekäsittelyn ulkopuolelle!

32 %%Hyvämuotoinen XML XML-dokumentti on hyvämuotoista (well-formed), 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 vain yksi juurielementti, jonka lapsia kaikki muut elementit ovat dokumentissa ei käytetä merkkejä < ja & kuin elementtien ja entiteettien alussa Jos dokumentti ei täyty em. vaatimuksia, se ei ole virallisesti XML:a Well-formed validator by w3c: XML Well-formed Validator:

33 Luento 1: Osa 2 XPATH Online xpath tool:

34 OSA 2: Sisältö XPath lausekkeet XPath joukko-oppi XPath askeleet XPath funktiot

35 XPathin tehtävä 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 lähtökohtana erilaisille toimenpiteille, esimerkiksi XSLT-muunnoksille (ks. XSLT luento) XPath on tärkeä koska monet XML-tekniikat hyödyntävät sitä

36 XPathin käyttökohteet XPath-lausekkeita käytetään laajalti hyväksi XSLT:ssa XSLT on kieli XML-dokumentin muuntamiseksi muodosta toiseen XSLT:ta ei voi käyttää ilman XPath-osaamista XPath on myös osa dokumenttien välistä linkitystä XPathilla voidaan linkittää dokumentin sisälle XPath-lausekkeet ovat näppäriä apuvälineitä ohjelmointikielissä yksinkertaisen valintalausekkeen toteuttaminen Javalla tai C:lla voi olla kymmeniä riviä koodia XPath-käsittelijäkirjastot ovat valmiiksi optimoituja ja testattuja kovassa käytössä Online xpath tool:

37 XPath: rakenne XPath-lauseke koostuu joukosta askelia (step) askelista muodostuu polku (path) alkupisteestä (current node) loppujoukkoon askeleet erotetaan toisistaan kauttaviivoilla /step/step/step jokainen askel muokkaa valittua joukkoa (set)» jos askel päätyy tyhjään joukkoon, palautetaan tyhjä joukko askel määrää siirtymän (axis), solmutestin (node test) ja mahdollisesti joukon ehtoja (predicates) Rakenne: axis::node-test[predicates][predicates...] step Esim: child::title[attribute::lang='fi']

38 XPath: Lausekkeen evaluointi XPath-lauseke evaluoidaan aina puumuotoisessa XML:ssa Elementit, attribuutit ja tekstisisällöt ovat puun solmuja (node) Lauseke evaluoidaan askel askeleelta ensimmäinen askel otetaan esimerkiksi ns. nykyisestä elementistä (current node/ context node) tai juurielementistä seuraava askel otetaan siitä, mihin edellinen jäi (se on siis uusi kontekstisolmu) jos askelta ei pystytä ottamaan, lauseke palauttaa tyhjän joukon Production_line ESIM: /child::production_line/child::lift_module[attribute::id= LM01'] Name Päätynostin PN1 ID= type= BELT Lapsi akseli (child::) Attribuutti akseli (@ or attribute::) HUOM: Kannattaa heti totutella ajattelemaan XML-dokumenttia puurakenteena. Jos XML:a ajattelee tekstidokumenttina, XPath on hyvin monimutkainen asia! OUTOA MUTTA TOTTA: Attribuutti-solmu ei ole isä-elementtinsä lapsi-solu eikä myöskään jälkeläinen! Tämä kannattaa muistaa XPath-lausekkeita kirjoitettaessa.

39 XPath: Joukko-oppia XPath operoi joukoilla jokainen askel voi saada lähtökohdakseen useita solmuja XML-puussa solmujen tyyppien ei välttämättä tarvitse olla samoja Jokainen askel otetaan jokaisesta lähtöjoukon solmusta mikäli askelta ei voida ottaa, kyseinen haara sulkeutuu askel voi tuottaa useita solmuja, jotka kaikki ovat mukana seuraavassa askeleessa Viimeisen askeleen valitsemat solmut palautetaan XPathlausekkeen tuloksena

40 XPath: Lyhennetty syntaksi XPath-lausekkeista on laadittu erityinen lyhennetty syntaksi Lyhennettyä syntaksia voidaan käyttää normaalin syntaksin sijaan tai sen seassa Huom: kaikkea ei voida kuitenkaan toteuttaa lyhennetyllä syntaksilla Esimerkkejä peruslausekkeista: Nykyisen elementin title-lapsielementtien valinta child::title tai title huomaa, että nykyistä elementtiä ei tarvitse merkitä erikseen, sillä XPath aloittaa oletusarvoisesti nykyisestä elementistä nykyinen elementti voidaan toki merkitä alkuun self::node()/child::title tai./title Nykyisen elementin src-attribuutin valinta attribute::src Huomaa, että seuraavat lausekkeet palauttavat eri joukon: self::node()/child::node() palauttaa kaikki lapsisolmut, myös tekstisisällöt./* palauttaa vain lapsielementit

41 XPath: Askeleiden yhdistäminen Askeleet yhdistetään kauttaviivoilla / lauseke suoritetaan askel askeleelta child::chapter/child::paragraph -tai- chapter/paragraph child::paragraph/text() -tai- paragraph/text() HUOM: Kauttaviiva / on sekä askelten yhdistämismerkki että lyhennysmerkintänä lapsielementtiin siirtymä askel esim:./book

42 XPath: Siirtymät XML-puussa XPath mahdollistaa liikkumisen kaikkiin suuntiin XML-puussa: parent tai.. (kaksi pistettä) valitsee isäelementin child tai tyhjä valitsee lapsisolmut / valitsee dokumentin juuren descendant valitsee kaikki lapsielementit, myös lapsien lapset jne.» descendant-or-self tai // valitsee myös nykyisen solmun ancestor valitsee kaikki esi-isät» ancestor-or-self valitsee myös nykyisen solmun following ja preceding valitsevat kaikki dokumentissa seuraavat tai edeltävät solmut following-sibling ja preceding-sibling valitsevat seuraavat tai edeltävät sisarsolmut self tai. (piste) valitsee nykyisen solmun

43 XPath: Siirtymät esimerkki 1 ancestor followingsibling precedingsibling parent child Nykyinen solmu eli kontekstisolmu [Frosterus]

44 XPath: Siirtymät esimerkki 2 ancestor-or-self preceding following descendant Nykyinen solmu eli kontekstisolmu [Frosterus]

45 Solmutesti -Siirtymien tarkentaminen Siirtymälle voidaan asettaa ehtoja solmutestillä Askel valitsee ainoastaan ne solmut, jotka ovat siirtymän päässä nykyisestä joukosta ja jotka täyttävät solmutestin ehdot Solmutestillä voidaan valita: tietyt elementit, pelkkä leipäteksti, kommentit tai käsittelyohjeet following-sibling::image child::text() tai text() parent/child::comment() tai../comment() descendant-or-self::* tai //*

46 Ehdot Valintaa voidaan tarkentaa edelleen määrittelemällä haluttu määrä ehtoja valittaville solmuille (predicates) ehdot määritetään hakasuluissa solmutestin jälkeen [ehto] useita ehtoja voidaan määritellä peräkkäin, jokaisen on toteuduttava child::title[attribute::lang] tai child::title[attribute::lang='fi'] tai ancestor-or-self::node()[child::paragraph]/child::image tai ancestor-or-self::node()[paragraph]/image

47 Listing Xpath axis and node test types XPATH:N SIIRTYMÄ- JA SOLMUTESTITYYPIT

48 XPath: yleisimpiä polun askeleita Yleisiä polkulausekkeita: XPath lausekkeen ensimmäisenä merkkinä käytettäessä osoittaa dokumentin juureen (muuten polun askeleiden erotusmerkki). Ex:

49 XPath: siirtymäakselit

50 XPath:solmutesti (1)

51 XPath:solmutesti (2)

52 XPath: askeleet ( * ) [*Katso myös kalvo: solmu testi ]

53 XPATH OPERAATTORIT JA FUNKTIOT

54 - XPath Operaattorit XPath Operaattorit Lista Xpath-lausekkeissa käytettävistä operaattoreista: HUOM: Tässä verrataan priceelementin arvoa tekstikentässä lukuun 9.80 (ei itse elementtiä)

55 XPath: Funktiot XPath määrittää myös joukon funktioita, joita voidaan käyttää lausekkeiden ehdoissa tai lausekkeiden sijaan palauttamaan jotakin tietoa dokumentista funktiot ovat tyypitettyjä osa funktioista voi ottaa solmujoukon (node set) parametrikseen XPATH: = 'web']/title[string-length() > 12] RESULT: <title lang="en">xquery Kick Start</title> [Frosterus]

56 XPath:Boolean-funktiot boolean(obj) muokkaa argumentin boolean-tyyppiseksi false() palauttaa aina false not(b) palauttaa b:n käänteisarvon true() palauttaa aina true [Frosterus]

57 XPath:Numerofunktiot ceiling(number) palauttaa pienimmän mahdollisen kokonaisluvun, joka on suurempi tai yhtä suuri kuin argumentti siis pyöristys ylöspäin floor(number) palauttaa suurimman mahdollisen kokonaisluvun, joka on pienempi tai yhtä suuri kuin argumentti siis pyöristys alaspäin number(obj) muuttaa argumentin numeroksi round(number) pyöristää argumentin lähimpään kokonaislukuun [Frosterus]

58 XPath:Merkkijonofunktiot concat(s1, s2,...) yhdistää argumentit yhdeksi merkkijonoksi argumenttien täytyy olla merkkijonoja contains(haystack, needle) palauttaa true, jos toinen argumentti löytyy ensimmäisestä esim: contains( XML, XM ) palauttaa: true normalize-space(s) poistaa argumentin alusta ja lopusta tyhjät merkit ja korvaa kaikki tyhjien merkkien ryhmät yhdellä välilyönnillä starts-with(s1, s2) palauttaa true, jos s1 alkaa s2:lla string(obj) muuttaa argumentin merkkijonoksi string-length(s1) palauttaa argumentin pituuden merkkeinä substring(s, start, len) palauttaa merkkijonon, joka alkaa kohdasta start merkkijonossa s ja jonka pituus on len merkkiä [Frosterus]

59 XPath:Merkkijonofunktiot substring-after(s1, s2) palauttaa merkkijonon, joka alkaa siitä kohdin, mistä s2 löytyy s1:stä esim. substring-after( Punainen, a ) palauttaa: inen substring-before(s1, s2) palauttaa merkkijonon, joka päättyy siihen, mistä s2 löytyy s1:stä esim. substring-before( Punainen, a ) palauttaa: Pun translate(s1, s2, s3) korvaa merkkijonossa s1 s2:n merkit s3:n merkeillä esim. translate( Punainen, P, p ) palauttaa: punainen [Frosterus]

60 Solmujoukkofunktiot count(ns) laskee solmujoukon solmujen lukumäärän id(idref) palauttaa solmun, jolla on ID-tyyppinen attribuutti, jonka arvo on idref local-name(n) palauttaa solmun paikallisen nimen (siis ilman nimiavaruutta) name(n) palauttaa solmun nimen, sisältäen nimiavaruuden namespace-uri(n) palauttaa solmun nimiavaruuden URI:n sum(ns) laskee solmujoukon summan, solmut muutetaan numeroiksi [Frosterus]

61 Nykyiseen solmuun liittyvät funktiot position() palauttaa nykyisen solmun järjestysnumeron nykyisessä solmujoukossa ei ole sama asia kuin elementin järjestysnumero dokumentissa» tätä ei ole itse asiassa mahdollista edes helposti laskea last() palauttaa nykyisen solmujoukon viimeisen solmun järjestysnumeron [Frosterus]

62 XPath:Funktioiden käyttö Attribuuttien arvojen yhdistäminen ' Vain ensimmäinen lapsielementti valitaan child::test[position()=1] tai test[position()=1] Lasketaan tiettyjen elementtien lukumäärä count(child::paragraph) + count(child::image[attribute::src]) tai count(paragraph) + count(image[@src]) [Frosterus]

63 XPath: Funktiot - Esimerkkejä XPATH>/bookstore/book[@category = 'web']/title[string-length() > 12] RESULT> <title lang="en">xquery Kick Start</title> XPATH> contains(/bookstore/book[@category = 'web']/title, 'XQuery') RESULT> true XPATH> //book[contains(./title, 'XQuery')] RESULT> <book category="web"> <title lang="en">xquery Kick Start</title> </book> XPATH> //book[substring-before(./year/text(), '5')][./price >=30.00]/title RESULT> <title lang="en">everyday Italian</title> XPATH> //book[position()=1]/price/text() + //book[position()=last()]/price/text() RESULT> XPATH> sum(//book/price/text()) RESULT> [KOKEILE:

64 LISÄÄ XPATH ESIMERKKEJÄ

65 - XPath Examples Books.xml Selects the root of the document: / Selects the bookstore root element: /bookstore Selects all the book nodes: /bookstore/child::book /bookstore/book //book //book/. /bookstore/book/year/../../* Selects all the child-elements of all the books: /bookstore/book/year/../* NOTE: Remember to use the entity values of the <, > and & characters in xpath expressions in xml documents.

66 - XPath Examples Books.xml Selects all the title nodes: /bookstore/book/title /bookstore/child::book/child::title Selects the title of the first book node under the bookstore element: /bookstore/book[1]/title Selects the texts from all the price nodes: /bookstore/book/price/text() Selects all the title nodes with a price higher than 35: /bookstore/book[price>35]/title Selects the parent nodes of all the English title nodes, i.e. all book nodes /bookstore/book/child::title[@lang="en"]/parent:: node() RESULT: all the book nodes NOTE: Remember to use the entity values of the <, > and & characters in xpath expressions in xml documents.

67 - XPath Examples Books.xml Selects all the child nodes of the year element of the first book: /bookstore/book[1]/child::year/child::node() Result set: text-node: 2005 Selects all the child elements of the year element of the first book: /bookstore/book[1]/child::year/* Result set: NO RESULT, because /* selects only child elements and there is no child element. NOTE: Remember to use the entity values of the <, > and & characters in xpath expressions in xml documents.

68 - XPath Examples Books.xml Selects all descendant nodes of the first book: //book[1]/descendant::node() Result set: title-node; text-node: Everyday Italian author-node; text-node: Giada De Laurentiis year-node; text-node: 2005 price-node; text-node: However, attributes do not belong to this set! OUTOA MUTTA TOTTA: Attribuutti-solmu ei ole isäelementtinsä lapsi-solu eikä siis myöskään jälkeläinen! Tämä kannattaa muistaa XPath-lausekkeita kirjoitettaessa. NOTE: Remember to use the entity values of the <, > and & characters in xpath expressions in xml documents.

69 XPath Function Examples Books.xml Selects all price or year elements //price //year Selects the title of the second last book node under the bookstore element: /bookstore/book[position()=last()-1]/title Counts the number of book nodes: count(/bookstore/book) = 4 Calculates max and average values: max((//price/text())) = avg((//price)) = Selects the texts from all the price nodes: /bookstore/book/price/text() Selects all the title nodes with publication year different from 2005: /bookstore/book[not(./year/text()=2005)]/title NOTE: Remember to use the entity values of the <, > and & characters in xpath expressions in xml documents.

70 Lähdeviitteet Kurssikirjat (vaihtoehtoiset): Luentoon 1 liittyvät luvut 1, 3 ja 4 kirjasta: Goldberg, K.,H XML-Visual QuickStart Guide. 2.e. Peachpit Press XML. : Introduction, Ch1, Ch2, Ch3, Ch4 ja Ch9-Ch15. Luentoon 1 liittyvät luvut 1, 2 ja 7 ja Appendix B: XPath Functions kirjasta: E-book: Beginning XML, (5th ed.) by Fawcett, J., et al., John Wiley & Sons, Inc. Ch 1-3, Ch5, Ch7, Ch8. Muita lähteitä: Tutoriaalit: XPATH esimerkkejä: Well-formed validator by w3c: W3C:n Määrittelyt: Tools Online tool: xpath, xslt, schema validate: Online tool: Regular Expression Tester: Command line tool: Xmlstarlet command line XML toolkit: Download for windows: XML editors EditX Lite free version: MindFusion XML Viewer on Ilmainen editori. Sopii ainakin XSLT-muunnoksien harjoitteluun.

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

ELEC-C1220 Automaatio 2 - XML

ELEC-C1220 Automaatio 2 - XML ELEC-C1220 Automaatio 2 - XML XML merkintäkielten perusteet Luento1 Pekka Aarnio Luento 1: OSA1 XML MERKINTÄKIELTEN PERUSTEET Luennon sisältö OSA 1 1. XML ja Puut 2. XML Extensible Markup Language 3. XML-dokumentin

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

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

Luento 2: XML:n syntaksi

Luento 2: XML:n syntaksi Luento 2: XML:n syntaksi AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML:n syntaksi Peruskäsitteitä Rakennepalaset elementit leipäteksti attribuutit Nimiavaruudet Dokumentin rakenteen määrittely

Lisätiedot

Luento 1: Johdanto merkintäkieliin

Luento 1: Johdanto merkintäkieliin Luento 1: Johdanto merkintäkieliin AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Johdanto merkintäkieliin Merkintäkieliä SGML HTML XML XML:n peruspiirteet XML-dokumentin rakenne XML:n käyttö XML-pohjaisia

Lisätiedot

Luento 3: Tietorakenteiden esittäminen

Luento 3: Tietorakenteiden esittäminen Luento 3: Tietorakenteiden esittäminen AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Tietorakenteiden esittäminen XML-dokumentti puuna Muunnokset muodosta toiseen Perustietorakenteet listat puut

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

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

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

XML merkintäkielten perusteet. Luento 3 Pekka Aarnio

XML merkintäkielten perusteet. Luento 3 Pekka Aarnio XML merkintäkielten perusteet Luento 3 Pekka Aarnio 1 Luennon sisältö OSA 1: XML-Schema OSA 2: XML-Schema ja nimiavaruudet 2 Osa 1: sisältö Osa 1 1. Mikä on XML-Schema-kieli 2. Tietotyypit ja elementtien

Lisätiedot

XML rakenteen suunnittelu. Jaana Holvikivi

XML rakenteen suunnittelu. Jaana Holvikivi XML rakenteen suunnittelu Jaana Holvikivi XML suunnittelu Dokumentin ilmentymä elementit attribuutit (määritteet) entiteetit prosessointikäskyt 19.3.2015 Jaana Holvikivi 2 Elementtien sisäkkäisyys: säännöt

Lisätiedot

XML merkintäkielten perusteet. Luento 3 Pekka Aarnio

XML merkintäkielten perusteet. Luento 3 Pekka Aarnio XML merkintäkielten perusteet Luento 3 Pekka Aarnio 1 Luennon sisältö OSA 1: XML-Schema OSA 2: XML-Schema ja nimiavaruudet 2 Osa 1: sisältö Osa 1 1. Mikä on XML-Schema-kieli 2. Tietotyypit ja elementtien

Lisätiedot

8 XSLT-muunnoskieli XSLT-muunnoskieli

8 XSLT-muunnoskieli XSLT-muunnoskieli 8 XSLT-muunnoskieli 51 8 XSLT-muunnoskieli XML-dokumentti kuvaa siis vain tiedon sisältöä eikä määritä ulkoasua mitenkään. CSS on suunniteltu HTML-dokumenttien ulkoasun kuvaamiseen eli tiedon esittämiseen

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

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

Luento 7: XML-ohjelmointirajapinnat

Luento 7: XML-ohjelmointirajapinnat Luento 7: XML-ohjelmointirajapinnat AS-0.110 XML-kuvauskielten perusteet Janne Kalliola 1 XML-ohjelmointirajapinnat Document Object Model (DOM) käyttö rakenne ja versiot perusrajapinnat rajapinnat tarkemmin

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin kurssilta T-76.1143 sekä kurssin oppikirjaan 3.5.2016 CSE-A1200 Tietokannat 3.5.2016 1 / 39 Oppimistavoitteet: tämän luennon

Lisätiedot

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Kukin alkio (viite) talletettuna solmuun (node) vastaa paikan käsitettä

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

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

XPath. namespace nodes, processing instruction nodes, comment nodes. a root node, element nodes, text nodes, attribute nodes,

XPath. namespace nodes, processing instruction nodes, comment nodes. a root node, element nodes, text nodes, attribute nodes, XPath 33 XPath Syntax for defining parts in an XML document (or rather in an XML tree) Supported by all XML and XSLT processors in practise A W3C recommendation and used by other languages Defines a library

Lisätiedot

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen XML - perusteet Ctl230: Luentokalvot 4.10.2004 Miro Lehtonen Johdanto Mikä on merkkauskieli? 3Merkkaus (markup): lisätieto dokumentissa Erilaiset kirjasintyylit ja -koot 3Säännöt merkkaukselle Miten merkataan?

Lisätiedot

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

XML-datan kysely. Topi Sarkkinen. Seminaarityö. Helsinki HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos XML-datan kysely Topi Sarkkinen Seminaarityö Helsinki 18.3.2015 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet

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

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

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita. Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

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

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

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/15 Lisää säännöllisistä lausekkeista Aikaisemmin esityt * ja + yrittävät osua mahdollisimman pitkään merkkijonoon

Lisätiedot

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2 Kurssien esittely lukukausi 2016-17 Tavoitteet. Automaatio 1 ja 2 Opiskelija tuntee erilaisten sovellusalueiden automaatioratkaisujen erot, ymmärtää automaatiojärjestelmien

Lisätiedot

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla 1 ENTITEETIT Tehtävä 1. Tietokoneet ja käyttöjärjestelmät käyttävät erilaisia merkkijärjestelmiä ja varsinkin Internetin alkutaipaleella aiheutti sen, että jotkut merkit eivät näkyneet kaikilla oikein.

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

XPath. namespace nodes, processing instruction nodes, comment nodes. a root node, element nodes, text nodes, attribute nodes,

XPath. namespace nodes, processing instruction nodes, comment nodes. a root node, element nodes, text nodes, attribute nodes, XPath 73 XPath Syntax for defining parts in an XML document (or rather in an XML tree) Supported by all XML and XSLT processors in practise A W3C recommendation and used by other languages Defines a library

Lisätiedot

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

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

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 23.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 23.2.2009 1 / 44 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta

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

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

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

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. 1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat

Lisätiedot

2. PEHMEÄ XHTML XRAJAHTML

2. PEHMEÄ XHTML XRAJAHTML Luennot 1. Intro 2. PEHMEÄ XHTML XRAJAHTML Dokumentin (matalan tason) rakenne DOCTYPE ja merkistökoodaukset Elementtien syvät rajat 3. CSS 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys &

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

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

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group 1.10.2010 1(15) Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group Graanintie 7 Tel. + 358 15 338 800 FIN-50190 MIKKELI Fax + 358 15 338 810 VERSIOHISTORIA Versio Pvm Tekijä Selite 1.0

Lisätiedot

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB Datatähti 2019 alku task type time limit memory limit A Kolikot standard 1.00 s 512 MB B Leimasin standard 1.00 s 512 MB C Taulukko standard 1.00 s 512 MB D Ruudukko standard 1.00 s 512 MB E Sanalista

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

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

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

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

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

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Laajuus 5 op Luennot: 12 x 2t 11.3.2014 29.4.2014 Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Lähiopetuksen jäkeen harjoitustyö ja tentti Aulikki Hyrskykari

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

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Versio 1.05 Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalautteen kysely 2 (8) Versiohistoria Versio Päivämäärä

Lisätiedot

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

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

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 48) Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain

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

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

Ohjelmointi 1 C#, kevät 2013,

Ohjelmointi 1 C#, kevät 2013, Ohjelmointi 1 C#, kevät 2013, 19.4.2013 (English versions of the questions can be requested from the supervisor. Englanninkieliset kysymykset saa pyytämällä tentin valvojalta.) Tentti (yliopisto opiskelijat)

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

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

DOORSin Spreadsheet export/import

DOORSin Spreadsheet export/import DOORSin Spreadsheet export/import 17.10.2006 SoftQA Oy http/www.softqa.fi/ Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä

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

Julkishallinnon XML-skeemat v0.5 JHS-suositus

Julkishallinnon XML-skeemat v0.5 JHS-suositus Julkishallinnon XML-skeemat v0.5 JHS-suositus Keskustelutilaisuus 22.10.2008, Kansallismuseon auditorio Lasse Akselin TietoEnator lasse.akselin@tietoenator.com Sisällys Johdanto Nimeämissäännöt Skeemojen

Lisätiedot

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen Jäsennys ja sarjallistaminen Tietorakenteen määrittely Hyvinmuodostettu / validi rakenne Rakenteen määrittely DTD XML-jäsentäjä (parser) on työkalu, joka pystyy muodostamaan puurakenteen tekstuaalisesta

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

XML merkintäkielten perusteet. Luento 2 - XSLT Pekka Aarnio

XML merkintäkielten perusteet. Luento 2 - XSLT Pekka Aarnio XML merkintäkielten perusteet Luento 2 - XSLT Pekka Aarnio Luennon sisältö OSA 1: XSLT-kieli OSA 2: XML Nimiavaruudet (OSA 3: AutomationML lyhyt kuvaus harjoitustehtävän tueksi) Luento 2: OSA1 XSL-MUUNNOKSET

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 13: Scheme-tulkki Pythonilla, datan serialisointi, keväästä Riku Saikkonen 11. 12. 2012 Sisältö 1 Scheme-tulkki Pythonilla 2 Datan serialisointi 3 Suunnitelmia

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

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

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

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

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

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

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 4 % (2 pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 4 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 17. tammikuuta 2008 Modulin viimeistelyä module Shape ( Shape ( Rectangle, E l l i p

Lisätiedot

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2 Kurssien esittely lukukausi 2017-18 Tavoitteet. Automaatio 1 ja 2 Opiskelija tuntee erilaisten sovellusalueiden automaatioratkaisujen erot, ymmärtää automaatiojärjestelmien

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 14.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 14.2.2011 1 / 55 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

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

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Ohjelmointi 1 C#, kevät 2013, 2. tentti ITKP102 Ohjelmointi 1 C# 15.5.2013 1 / 6 Ohjelmointi 1 C#, kevät 2013, 2. tentti Tentaattori Antti-Jussi Lakanen Tässä tentissä saa olla mukana omia muistiinpanoja yhden arkin verran. Tentin valvojalla

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

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt

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

9 XML perusteet

9 XML perusteet 9 XML 1.0 - perusteet XML jakaa dokumenttien käsittelyn kaksitasoiseksi prosessiksi, jossa XMLprosessori ([processor]) lukee XML-tiedoston ja välittää tämän parsittuna sovellukselle ([application]). Käytännössä":

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