ELEC-C1220 Automaatio 2 - XML
|
|
- Teemu Haavisto
- 6 vuotta sitten
- Katselukertoja:
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 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ätiedotELEC-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ätiedotHohde 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ätiedotM. Merikanto 2012 XML. Merkkauskieli, osa 2
XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao
LisätiedotLuento 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ätiedotLuento 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ätiedotLuento 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ätiedotHelsingin 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ätiedotXML 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ätiedotwww.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ätiedotXML 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ätiedotXML 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ätiedotXML 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ätiedot8 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ätiedotA274101 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ätiedotWWW-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ätiedotLuento 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ätiedotCSE-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ätiedotPinot, 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ätiedotSisä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ätiedotTutkitaan 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ätiedotXPath. 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ätiedotXML - 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ätiedotXML-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ätiedotDigitaalisen 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ätiedotWeb-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ätiedotHarjoitus 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ätiedotXML / 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ätiedotDigitaalisen 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ätiedotHarjoitus 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ätiedotHarjoitus 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ätiedotOhjelmoinnin 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ätiedotXML 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ätiedotP 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ätiedotCtl160 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ätiedotELEC-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ätiedotEntiteetit 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ätiedotExtensible 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ätiedotXPath. 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ätiedotDatatä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ätiedotJohdatus 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ätiedotAlgoritmit 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ätiedotJava-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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotAlkuarvot 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ätiedotXSL-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ätiedotVaasan 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ätiedotAlgoritmit 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ätiedotOhjelmoinnin 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ätiedot2. 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ätiedotITKP102 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ätiedotELM 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ätiedotPoikkeusinfo 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ätiedotDatatä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ätiedotLuento 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ätiedotInterfacing 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ätiedotTä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ätiedotTutoriaalilä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ätiedotLuento 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ätiedotLaajuus 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ätiedot9.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ätiedotTietojen 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ätiedotPython-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ätiedot6 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ätiedotJohdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
Lisätiedot7. 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ätiedotHarjoitus 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ätiedotAlgebralliset 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ätiedottää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ätiedotOhjelmointi 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ätiedotJWT 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ätiedotPaikkatiedot 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ätiedotDOORSin 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ätiedot3 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ätiedotJulkishallinnon 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ätiedotHelsingin 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ätiedotXSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia
XSLT - ohjelmoinnin perusteet Jaana Holvikivi Metropolia Johdanto: Muunnetaan XML-dokumentti HTML-muotoon (transformation)
LisätiedotXML 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotXML, 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ätiedotOhjelmoinnin 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ätiedotPythonin 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ätiedot815338A 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ätiedotHarjoitus 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ätiedotTIEA241 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ätiedotTIEA341 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ätiedotELEC-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ätiedotOhjelmoinnin 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ätiedotStanForD-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ätiedotOhjelmointi 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ätiedotOhjelmoinnin 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ätiedot13. 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedot9 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ätiedotOhjelmoinnin 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