è è è XSL-muunnokset 9 XSL-muunnokset

Koko: px
Aloita esitys sivulta:

Download "è è è XSL-muunnokset 9 XSL-muunnokset"

Transkriptio

1 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 huono puoli on tekstiformaateista sopimisen vaiva ja pahimmassa tapauksessa sitoutuminen "köyhään" tietorakenteeseen. Yleisemmin parempi ratkaisu on tuottaa tietoa kohdesovellukseen muunnosten avulla. Tällöin tietoa kuvataan sovellusten välillä ohjelmallisesti, mikä helpottaa (XML-)sovellusten yhdistämistä. Yksinkertaisimmillaan muunnos on "tyylipohja" joka esittää tietyn tietosisällön esim. XHTML-sivuna. 165

2 9.1 Konseptiesimerkki A Tiedon ohjelmallinen kuvaaminen sanastosta toiseen on tyypillinen XML-sovellusten yhdistelyyn liittyvä tehtävä Case (huom. sis. monikanavajulkaisun ja käärimisen): - asiakashallintaohjelma A tuottaa tekstimuotoisia raportteja joita halutaan katsella/tulostaa/siirtää toisiin järjestelmiin raportti XSLTprosessori XHTML - sen sijaan että A ohjelmoitaisiin tuottamaan raporttinsa esim. XHTMLformaatissa, ohjelmoidaan tuloste omassa XML-formaatissa raportti - kirjoitetaan muunnos (tiedosto a2h.xsl) T: raportti XHTML a2h.xsl -...näin raportista voidaan helposti tuottaa muitakin esitystapoja, (raportin tietomallia ei tarvitse valita XHTML:n rajoitusten mukaan), jos XHTMLversio halutaan vaihtaa, muokataan vain muunnosta, kokonaan uusi kohdesovellus? ei edellytä A:n muokkaamista, vain uudentyyppisen muunnoksen kirjoittamista, jne. 166

3 9.2 Extensible Stylesheet Language: Transformations XML-perheen suositus XSLT (1.0) määrittelee ns. XSLT-prosessorin tai muuntimen toiminnallisuuden Muunnos on tietokoneohjelma joka kuvaa lähdedokumentin jäsennyspuun toiseen muotoon kohdedokumentin (tai tulosdokumentin) jäsennyspuuna - muunnos voi hyödyntää kaikkea XML-dokumentista löytyvää informaatiota (loogisen rakenteen osalta), mukaan lukien kommentit ja prosessointiohjeet 167

4 9.3 Esimerkki: yksinkertainen muunnos <?xml version="1.0" encoding="iso "?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="html" indent="yes" encoding="iso " doctype-public="-//w3c//dtd HTML 4.0 Transitional//EN" /> <xsl:template match="/music"> <html> <head> <title>esimerkki</title> <style type="text/css"> body { background: yellow;} </style> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="album"> <h2> <xsl:value-of select="@artist"/> </h2> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> 168

5 9.4 Tekniikkaa XSLT tarjoaa kielen muunnosten kuvaamiseen se ei vielä yksin riitä Suositus XPath (XML Path Language (XPath) 1.0) tarjoaa kielen jäsennyspuiden osiin viittaamiseksi - "osoitin- ja ohjelmointikieli" (vrt. CSS2-valitsimet) Kohdesovellus voi olla mikä tahansa XML-tekstiformaatti - nimiavaruuksia tarvitaan erottamaan XSL kohteesta - lähdedokumentti (puu) on mv. XML-dokumentti - tulosdokumentti (puu) on mv. XML/HTML/tekstidokumentti (tai tekstientiteetti) XSLT:tä voidaan luonnehtia mallipohjaiseksi tai funktionaaliseksi ohjelmointikieleksi 169

6 9.5 Muunnoksen yleisrakenne Kärjistäen, tyypillinen XSL-muunnos sisältää seuraavat osat: output-osa kertoo tulospuun sarjallistuksen (ja esim. kohdedokumentin tyypin) Säännöt (template) määrittelevät muunnoksen loogisen sisällön (tiedon kuvaus lähdepuusta tulospuuksi) Parametrit tarjoavat keinon ohjata muunnoksia ulkoapäin, lähdedokumenttien ohella (esim. kytkiminä XSLT-prosessorille) Muunnokseen voidaan myös sisällyttää (include ja import) osia toisista muunnostiedostoista (modulaariset muunnokset) Suurin osa opiskelusta on sääntöjen ja näihin liittyvien "lauserakenteiden" ja komentojen opiskelua (...ja kohdesovellusten opiskelua...) 170

7 9.6 Sääntöjen anatomia Säännöt kirjoitetaan mallipohjien (template) avulla Sääntö aktivoituu lähdepuun aktiivisen kontekstin perusteella, säännön hahmon (pattern) ohjaamana Aktivoitunut sääntö tuottaa tulospuun ko. kohtaan sisältönsä, komentojen ohjaamana Sääntöjen (rekursiivinen) ketjutus ja oletussäännöt 171

8 9.7 XSLT-jäsennyspuun osat Muunnos näkee lähdedokumentin esiintymäosan solmuista koostuvana puuna - juurisolmu - elementtisolmut, attribuuttisolmut, prosessointiohjesolmut, tekstisolmut, - kommenttisolmut, nimiavaruussolmut Jokaista loogista elementtiä kohti löytyy rakenteensa XPath-kielestä sekä komentoja ko. tyyppisen tiedon käsittelyyn ja generoimiseen Solmun (suhteellinen) sijainti puussa osoitetaan ns. akselin avulla (vrt. CSS) - ancestor, ancestor-or-self, attribute, child, descendant, descendant-or-self, following, following-sibling, namespace, parent, preceding, precedingsibling, self 172

9 9.8 Hahmojen kielioppi (XPath & lokaatiopolku) Lokaatioaskelten kolmiosainen rakenne (akseli::solmutesti[predikaatti]): child::kirja/child::luku[position()=5]/child::kappale[position()=2] Käytössä on lyhennemerkintöjä. Esimerkkejä: para matches any para element * matches any element chapter appendix matches any chapter element and any appendix element olist/item matches any item element with an olist parent appendix//para matches any para element with an appendix ancestor element / matches the root node text() matches any text node processing-instruction() matches any processing instruction node() matches any node other than an attribute node and the root node id("w11") matches the element with unique ID W11 para[1] matches any para element that is the first para child 173

10 element of its parent *[position()=1 and self::para] matches any para element that is the first child element of its parent para[last()=1] matches any para element that is the only para child element of its parent items/item[position()>1] matches any item element that has a items parent and that is not the first item child of its parent item[position() mod 2 = 1] would be true for any item element that is an odd-numbered item child of its parent. div[@class="appendix"]//p matches any p element with a div ancestor element that has a class attribute with value matches any class attribute (not any element that has a class matches any attribute 174

11 Vastaavasti esimerkkejä täydellisten lausekkeiden avulla child::para selects the para element children of the context node child::* selects all element children of the context node child::text() selects all text node children of the context node child::node() selects all the children of the context node, whatever their node type attribute::name selects the name attribute of the context node attribute::* selects all the attributes of the context node descendant::para selects the para element descendants of the context node ancestor::div selects all div ancestors of the context node ancestor-or-self::div selects the div ancestors of the context node and, if the context node is a div element, the context node as well descendant-or-self::para selects the para element descendants of the context node and, if the context node is a para element, the context node as well 175

12 self::para selects the context node if it is a para element, and otherwise selects nothing child::chapter/descendant::para selects the para element descendants of the chapter element children of the context node child::*/child::para selects all para grandchildren of the context node / selects the document root (which is always the parent of the document element) /descendant::para selects all the para elements in the same document as the context node /descendant::olist/child::item selects all the item elements that have an olist parent and that are in the same document as the context node child::para[position()=1] selects the first para child of the context node 176

13 child::para[position()=last()] selects the last para child of the context node child::para[position()=last()-1] selects the last but one para child of the context node child::para[position()>1] selects all the para children of the context node other than the first para child of the context node following-sibling::chapter[position()=1] selects the next chapter sibling of the context node preceding-sibling::chapter[position()=1] selects the previous chapter sibling of the context node /descendant::figure[position()=42] selects the forty-second figure element in the document 177

14 /child::doc/child::chapter[position()=5]/child::section[position()=2] selects the second section of the fifth chapter of the doc document element child::para[attribute::type="warning"] selects all para children of the context node that have a type attribute with value warning child::para[attribute::type='warning'][position()=5] selects the fifth para child of the context node that has a type attribute with value warning child::para[position()=5][attribute::type="warning"] selects the fifth para child of the context node if that child has a type attribute with value warning child::chapter[child::title='introduction'] selects the chapter children of the context node that have one or more title children with stringvalue equal to Introduction 178

15 child::chapter[child::title] selects the chapter children of the context node that have one or more title children child::*[self::chapter or self::appendix] selects the chapter and appendix children of the context node child::*[self::chapter or self::appendix][position()=last()] selects the last chapter or appendix child of the context node 179

16 9.9 Laajempi esimerkki: music HTML(4) Tuotetaan musictiedoista Web-sivu Esimerkissä esille nousevia tyypillisiä pulmia/tehtäviä: - ohjelmoinnin pulmat idref id music.xml copy.xml bandinfo.xml XSLT-prosessori m2h.xsl out.html - mallintamisen pulmat, erityisesti: miten tieto jaetaan eri dokumenttien kesken (normalisointi, avaimet, asiasisältö vs. tyyli, yms.) - teknisen kirjoittamisen pulmat -...tyypitys, kieliversiointi, lokaalit, tiedon ylläpito, virhetilanteiden hallinta, suorituskyky, yms. 180

17 9.10 Takaisin perusteisiin: oletussäännöt Prosessoinnin jatkaminen (kaikilla moodeilla) <xsl:template match="* /"> <xsl:apply-templates/> </xsl:template> <xsl:template match="* /" mode="m"> <xsl:apply-templates mode="m"/> </xsl:template> Tekstin tuottaminen <xsl:template <xsl:value-of select="."/> </xsl:template> Prosessointiohjeiden ja kommenttien sivuuttaminen <xsl:template match="processing-instruction() comment()"/> Myös oletussäännöt voi määritellä uudelleen 181

18 9.11 Output XSL-muunnos käsittelee lähinnä tiedon loogista kuvaamista lähdepuusta kohdepuuksi, tiedon sarjallistus on kuitenkin useissa sovelluksissa keskeistä <!-- Category: top-level-element --> <xsl:output method = "xml" "html" "text" qname-but-not-ncname version = nmtoken encoding = string omit-xml-declaration = "yes" "no" standalone = "yes" "no" doctype-public = string doctype-system = string cdata-section-elements = qnames indent = "yes" "no" media-type = string /> Huomioita: XML vs. HTML vs. teksti 182

19 9.12 XSLT-komennot (1/2) Kohdesolmujen tuottaminen (ns. literaalien ohella): - xsl:element, xsl:attribute (ja xsl:attribute-set), xsl:text, xsl:processinginstruction, xsl:comment - vrt. erot literaalien kanssa (attribuutit ja kommentit!) Lähdepuun kopiointi - xsl:copy, xsl:copy-of Tekstin tuottaminen - xsl:value-of Numerointi - xsl:number 183

20 9.13 XSLT-komennot (2/2) Toistolauseet - xsl:for-each - vrt. sääntöjen suorittaminen Ehtolauseet - xsl:if, xsl:choose, xsl:when, xsl:otherwise Järjestäminen - xsl:sort Muuttujien käsittely - xsl:variable, xsl:param Muuta: Viestit ja laajennukset 184

21 9.14 Lausekkeet ja funktiot (XPath ja XSLT) XPath-kieli sisältää ohjelmoinnissa tyypillisesti tarvittavat rakenteet - tietotyypit (node-set, boolean, number, string) - muuttujat ($v), liukuluvuilla laskeminen (+, -, *, div, mod) ehtolausekkeet (or, and, =,!=, <=, <, >=, >) ja funktioiden kutsuminen (concat($v,$x)) - huomaa < ja '/""-merkkien käyttö merkkijonoissa (XML-tekstiä!) Kuten yleensä ohjelmoinnissa, lisäksi tarvitaan aliohjelmakirjastoja (joista osa olisi periaatteessa kuitenkin mahdollista kirjoittaa esim. sääntöinä) XSL-muunnosten yhteydessä käytössä ovat - Node Set Functions, String Functions, Boolean Functions, Number Functions, XSLT:n omat funktiot (erit. node-set document(object, nodeset?) ja node-set key(string, object)) Mahdolliset laajennukset 185

22 9.15 Muuttujien käsittelystä Funktionaalisen ohjelmoinnin hengessä muuttujat (muotoa $nimi) instantioidaan kerran ilman "päällekirjoittamisen" mahdollisuutta (tämä ei yleensä ole ongelma koska sääntöjä kutsutaan funktionaalisesti) Muuttujia tarvitaan esim. sääntöjen paloitteluun, merkkijonojen käsittelyyn (funktioiden käyttö) ja viittausrakenteiden kokoamiseen Keskeinen käyttö on myös parametrien välittäminen muunnoksille (päätason komentona) <xsl:param name="year" select="."/> Attribuuttien arvoina muuttujien evaluointi onnistuu myös sijoitusoperaation avulla ({ }-notaatio ja ns. attribute value template) <xsl:variable name="image-dir">/images</xsl:variable> <xsl:template match="photograph"> <img src="{$image-dir}/{href}" </xsl:template> 186

23 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 tämä tarkoittaa vain xmlns-attribuutin käyttöä literaalina: <xsl:template match="/music"> <html xmlns=" <head> <title>esimerkki</title> </head> <body> <h1>dokumentin tietoja</h1> <p><xsl:value-of select="album[1]/name" /> </p> </body> </html> </xsl:template> Oletusnimiavaruus ei kuitenkaan välity säännöstä toiseen (ts. asetettava joka säännössä erikseen) Mieti miksi mallipohja ja XSL-komennot tulkitaan oikein 187

24 9.17 XSLT ja nimiavaruudet (2/3): kvalifioidut literaalit Myös kvalifioitujen nimien käyttö on mahdollista: <! > <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:xh=" <! > <xsl:template match="/music"> <xh:html> <xh:head><xh:title>esimerkki</xh:title></xh:head> <! > </xh:html> </xsl:template>...tällöin lopputulos ei kuitenkaan ole aina toivottu! (joskin se on "oikea") <?xml version="1.0" encoding="iso "?> <xh:html xmlns:xh=" <xh:head> <xh:title>xslt-komentodemo</xh:title> </xh:head> <! > </xh:html> 188

25 9.18 XSLT ja nimiavaruudet (3/3): kvalifioidut hahmot Muunnoksen lähdedokumenttikin voi tietenkin kuulua tiettyyn nimiavaruuteen...tällöin XSLT sotkee merkkausprefiksit ja hahmojen sisällön, vrt. oheinen XHTML-dokumenttiin kohdistuva muunnos: <?xml version="1.0" encoding="iso "?> <xsl:stylesheet xmlns:xsl=" version="1.0" xmlns:xh=" exclude-result-prefixes="xh"> <!-- ei haluta kohteeseen! --> <xsl:output method="xml" indent="yes" encoding="iso " /> <xsl:template match="/xh:html/xh:head"> <foo> <xsl:value-of select="xh:title" /> </foo> </xsl:template> <xsl:template match="text()" /> </xsl:stylesheet> 189

26 9.19 Lyhennemerkintä: literaalista koostuva XSL-muunnos XSLT määrittelee lyhennemerkinnän yksinkertaisten muunnosten kirjoittamiseen - perusidea: muunnosdokumentti vastaa yhden implisiittisen säännön mallipohjaa jossa hahmona on "/" <html xsl:version="1.0" xmlns:xsl=" xmlns=" <head> <title>expense Report Summary</title> </head> <body> <p>total Amount: <xsl:value-of select="expense-report/total"/></p> </body> </html> Muunnoksen syntaksi on tällöin kuitenkin rajoittunut (ei muita sääntöjä eikä päätason elementtejä) 190

27 9.20 Yksinkertaisia XSLT-esimerkkejä (ks. kotisivu) Yksi vs. monta sääntöä Viittaukset, järjestäminen Ulkoiset lähdedokumentit (lokaalit vs. globaalit viittaukset) Parametrit ja funktiot Prosessorisovellukset (SVG) Käyttö osana muita teknologioita työkaluja (Open Office, WRML) Yms. 191

28 9.21 Pari sanaa XSL-perheestä XSL-perhe sisältää (hieman määrittelytavasta riippuen) tekniikat XSLT, XPath ja XSL-FO (XSL Formatting Objects) XSL-FO määrittelee (ideatasolla) hieman Postscriptiä muistuttavan XMLpohjaisen formatointikielen -...taitollisesti ja sommitelmallisesti tarkkaa tulostusta silmälläpitäen (vrt. HTML toisena ääripäänä) -...XSL-FO-prosessori 192

29 9.22 XSL-FO, perusidea XSL-FO hyödyntää CSSkäsitteistöä (formatointiominaisuuksien osalta) mutta tarjoaa huomattavasti monipuolisemman formatointimallin (sis. esim. sivutuksen, ylä- ja alaotsikot, mallipohjan yms. käsitteet) XSL-FO:ta on (raskaasti) kritisoitu semantiikan puutteesta (vrt. HTML & font-elementti) 193

30 9.23 XSL-FO, esimerkki (ks. zvon.org) lähdedokumentti ja formatoitu tulosdokumentti (esim. PDF-muodossa) <fo:root xmlns:fo=" > <fo:layout-master-set> <fo:simple-page-master mastername="simple" page-height="15cm" pagewidth="15cm"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="simple"> <fo:flow flow-name="xsl-region-body"> <fo:block>square page 15cm x 15cm</fo:block> </fo:flow> </fo:page-sequence> </fo:root> 194

31 9.24 Lopuksi Web-selaimet eivät tue XSL-muunnoksia luotettavasti -...käytännön vaihtoehtoja ovat muunnokset osana esim. sisällöntuotantojärjestelmiä tai palvelinpäässä Monimutkaiset muunnokset ovat kuitenkin melko hitaita ja saattavat kuluttaa paljon muistia - heikosti optimoitu muunnin pitää yhtä aikaa työmuistissa koko lähde- ja tulospuun yms. XPath ja XSLT -tekniikoista on jo julkaistu kakkosversiot - XPath 2 kehittyy esim. XQueryn "suuntaan", XSLT 2 puolestaan mahdollistaa sääntöjen kohdistamisen myös tulospuuhun sekä usean tulospuun tuottamisen yhdellä ajolla (XSLT:tä on kritisoitu tämän ohella myös mm. sääntöjen kömpelöstä kirjoitusasusta) 195

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

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

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

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

Hohde Consulting 2004

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

Lisätiedot

Extensible Stylesheet Language (XSL)

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

Lisätiedot

Helsingin yliopisto/tktl XML-metakieli XSL-FO XSL-FO. XSL-FO sivut

Helsingin yliopisto/tktl XML-metakieli XSL-FO XSL-FO. XSL-FO sivut sivut XSL-Formating objects on suositus tiedon esitystavan määrittelyyn Osa XSL-suositusta XSLT:n tapaan on XML-rakenteinen ja hyvin raskas käyttää ilman sopivia työkaluja Tyypillistä: määrityksiä generoidaan

Lisätiedot

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

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

Lisätiedot

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

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

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

XSL Formatting Objects

XSL Formatting Objects XSL Formatting Objects XSL 1.0 (XSL-FO) Ctl230: Luentokalvot 15.11.2004 Johdanto XML-dokumenttien tyylinmäärittely 3Valmiiksi määritelty HTML-sanasto Selaimet ymmärtävät ja osaavat näyttää Esim. näytetään

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

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

XSLT - ohjelmaesimerkkejä. Jaana Holvikivi Metropolia

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

Lisätiedot

Ensimmäiset XPath-lausekkeet

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

Lisätiedot

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

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

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

XML Technologies and Applications - harjoitustyö -

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

Lisätiedot

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

XML johdanto, uusimmat standardit ja kehitys

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

Lisätiedot

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

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

Lisätiedot

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

Muotoilutoliot. XSL:n muotoiluoliot. Muotoiluolio. Muotoilualueet. Lohkoalueiden sijoittelu. Muotoilualueiden sijoittelu. Rivialueiden ominaisuuksia XSL:n muotoiluoliot "Formatting objects" (FO) muotoiluolioita, esim. lohko, kirjainmerkki, taulukon solu, (FO:n elementtejä) muotoiluominaisuuksia, esim. kehyksen leveys, kirjasinkoko, (FO:n elementtien

Lisätiedot

Luento 4: XPath ja XLink

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

Lisätiedot

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

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

Ylläpitodokumentti. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Aija Helsinki 2.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1. Johdanto...3 2.Sanasto...3 3.Asennusohje...3 3.1 Paketin purkaminen...3

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

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

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

7 DTD ja entiteetit: dokumentin fyysinen rakenne

7 DTD ja entiteetit: dokumentin fyysinen rakenne è è è DTD ja entiteetit: dokumentin fyysinen rakenne 7 DTD ja entiteetit: dokumentin fyysinen rakenne Tietojenkäsittelyssä kaikki tieto talletetaan jonnekin. XML-dokumenttien fyysinen rakenne määräytyy

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

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

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

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

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

Lisätiedot

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. Tavoitteenamme

Lisätiedot

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli Tietomuodoista Merkkauksista Merkkauskielistä XML-tietomalli Tietomuodoista Tiedon tuottamiseen, muokkaukseen ja hyväksikäyttöön voi osallistua useita ohjelmia eri alustoilla eri ohjelmointikielillä toteutettuja

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

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli Tietomuodoista Merkkauksista Merkkauskielistä XML-tietomalli Tietomuodoista Tiedon tuottamiseen, muokkaukseen ja hyväksikäyttöön voi osallistua useita ohjelmia eri alustoilla eri ohjelmointikielillä toteutettuja

Lisätiedot

Paikkatiedon esittäminen XML-muodossa: Oracle Spatial, SVG ja GML

Paikkatiedon esittäminen XML-muodossa: Oracle Spatial, SVG ja GML Paikkatiedon esittäminen XML-muodossa: Oracle Spatial, SVG ja GML OUGF Syysseminaari 15.11.2001 Petteri Soikkonen petteri.soikkonen@tietoenator.com Unit 1 TietoEnator 2000 Johdanto! Paikkatiedon esittämiseksi

Lisätiedot

3 XHTML-dokumenttien anatomia

3 XHTML-dokumenttien anatomia 3 XHTML-dokumenttien anatomia XHTML tarjoaa tutun esimerkin rakenteisten dokumenttien opiskelun alkutaipaleelle. Erityisesti, koska XHTML on eräs XML-sovellus: - havainnollistaa se tiedon teknistä merkkausta

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

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

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

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

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

W3C-teknologiat ja yhteensopivuus

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

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006 H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

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 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

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

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

3.27 "Tuotantoesimerkkien" rakenne ja viittaukset (1/2)

3.27 Tuotantoesimerkkien rakenne ja viittaukset (1/2) 3.27 "Tuotantoesimerkkien" rakenne ja viittaukset (1/2) Tietomalli ja tiedon esitystapa Käsityön määrä ja laatu Palvelinpään vaatimukset Saavutettavuusohjeistuksen ala! #1: Käsityö ope-kkortti.html ope-kkortti.css

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

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

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

Lisätiedot

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

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

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

Digitaalisen median tekniikat. Luento 3: CSS

Digitaalisen median tekniikat. Luento 3: CSS Digitaalisen median tekniikat Luento 3: CSS Luennot 1. Intro 2. XHTML 3. CSS Box Model Selektorit Esimerkkiä yms. 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys & saavutettavuus 7. Palvelinohjelmointi

Lisätiedot

5 Merkkaus: XML protokollana

5 Merkkaus: XML protokollana 5 Merkkaus: XML protokollana XML on siis ns. metakieli, joka käytännössä voidaan tulkita tavaksi merkitä ja tyypittää rakenteisia dokumentteja. XML on kuitenkin ennen kaikkea standardimuotoinen tietorakenne

Lisätiedot

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

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

Lisätiedot

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit XML-merkkaus Merkkidata, prosessointikomennot, kommentit Merkkidata Elementtien ja attribuuttien arvot 3Merkkijonot elementtien tunnisteiden välissä 3Attribuuttien arvot 3Kielletyt merkit < & Voidaan korvata

Lisätiedot

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda Valitsimista valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda Muistin virkistykseksi elementtejä http://appro.mit.jyu.fi/doc/www/xhtml/ HTML-elementtien lisäksi valitsimille voidaan luoda

Lisätiedot

5 Merkkaus: XML protokollana

5 Merkkaus: XML protokollana 5 Merkkaus: XML protokollana XML on siis ns. metakieli, joka käytännössä voidaan tulkita tavaksi merkitä ja tyypittää rakenteisia dokumentteja. Kuten tunnettua, se tarjoaa puitteet esim. XHTML-kielen määrittelylle

Lisätiedot

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

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa: XHTML - harjoitus Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa Tiedoston tallennus notepad (muistio) ohjelmassa: Jokaisen XHTML-dokumentin tulisi alkaa XML-määrittelyllä(engl.XML-prologue),

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi 1 C++11 Syntaksi Jari-Pekka Voutilainen 13.4.2012 2 Range-for Iteroi säiliön kaikki alkiot for-silmukassa. Säiliöltä vaaditaan begin- ja end-iteraattorit. Pätee kaikille C++11 STL-säiliöille, taulukoille,

Lisätiedot

Luento 11: XSL-FO & SVG

Luento 11: XSL-FO & SVG Luento 11: XSL-FO & SVG AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XSL-FO & SVG XSL-FO Dokumentin rakenne Sivupohja ja sivujaksopohja Sisältö Muut ominaisuudet Dokumentin laadinta ja käyttö XSL-FO:n

Lisätiedot

W3C, Web-teknologiat ja XML

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

Lisätiedot

XML standardeja. nimiavaruudet, namespaces XHTML XML Schema linkitys. 26.3.2015 Jaana Holvikivi 1

XML standardeja. nimiavaruudet, namespaces XHTML XML Schema linkitys. 26.3.2015 Jaana Holvikivi 1 XML standardeja nimiavaruudet, namespaces XHTML XML Schema linkitys 26.3.2015 Jaana Holvikivi 1 Namespaces - ongelma mr. President zaphod

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

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

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

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

Cascading Style Sheets

Cascading Style Sheets Cascading Style Sheets CSS - Cascading Style Sheets tyylikuvauskieli suunniteltu HTML:ää varten 1996, oma syntaksi CSS1 (1996), CSS2 (1998), CSS Mobile Profile CSS3 (tuleva) selaintuki nykyään hyvä, mutta

Lisätiedot

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot.

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. HTML ja CSS Tästä se lähtee: portfolio-sivusto Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. index.html Sivuston pääsivu, joka avautuu selaimeen ensimmäisenä sivujen

Lisätiedot

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

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

XQuery tietokannan kyselykielenä

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

Lisätiedot

Digitaalisen median tekniikat css tyylimääritykset

Digitaalisen median tekniikat css tyylimääritykset Digitaalisen median tekniikat css tyylimääritykset 18.9.2007 Harri Laine 1 Sisällön ja ulkoasun erottaminen toisistaan tavoiteltavaa sama sisältö pitäisi voida esittää erilaisilla alustoilla esim. esittää

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

2.17 Esimerkki järkevän relaatiotietokannan rakenteesta

2.17 Esimerkki järkevän relaatiotietokannan rakenteesta Rakenteisten dokumenttien perusteet 2.17 Esimerkki järkevän relaatiotietokannan rakenteesta Peruskäsitteitä: taulu/relaatio, monikko/tietue, mallinnus ja normalisointi, kytkös vs. redundanssi, anomaliat

Lisätiedot

Aulikki Hyrskykari. CSS Taustaa CSS syntaksi CSS Valitsimet Kuvat verkkosivulla

Aulikki Hyrskykari. CSS Taustaa CSS syntaksi CSS Valitsimet Kuvat verkkosivulla 4.4.2013 Aulikki Hyrskykari CSS Taustaa CSS syntaksi CSS Valitsimet Kuvat verkkosivulla Tyylipohjakieli Nimi tulee piirteiden putousmaisesta periytymisestä o cascade = vesiputous o tyylipiirteet periytyvät

Lisätiedot

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

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

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

SIMULINK S-funktiot. SIMULINK S-funktiot

SIMULINK S-funktiot. SIMULINK S-funktiot S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne

Lisätiedot

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

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat

Lisätiedot

Helsingin yliopisto / TKTL XML-Metakieli XML Schema

Helsingin yliopisto / TKTL XML-Metakieli XML Schema W3C:n tavoite kehittää parempi määrittelykieli ilmaisuvoimaisempi XML-rakenteinen itsedokumentoiva yksinkertainen Tekniseltä kannalta tuki nimiavaruuksille käyttäjän omat tietotyypit määritysten perintä

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

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

Kurssin aloitus. AS-0.110 XML-kuvauskielten perusteet Janne Kalliola

Kurssin aloitus. AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Kurssin aloitus AS-0.110 XML-kuvauskielten perusteet Janne Kalliola English Summary The lectures will be held in Finnish The slides are in Finnish, too All other material is in English The course book

Lisätiedot

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

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti 1 XHTML - aloitus Sisältö: s.2 Taustaa s.4 Elementin rakenne s.7 XHTML dokumentti s.8 DOCTYPE s.11 html s.13 head s.14 meta s.16 title s.17 link s.18 style s.19 body s.22 Lohko- ja inline-elementit s.23

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

Digitaalisen median tekniikat css tyylimääritykset

Digitaalisen median tekniikat css tyylimääritykset Digitaalisen median tekniikat css tyylimääritykset 26.3.2004 Harri Laine 1 Sisällön ja ulkoasun erottaminen toisistaan tavoiteltavaa sama sisältö pitäisi voida esittää erilaisilla alustoilla esim. esittää

Lisätiedot

Digitaalisen median tekniikat css tyylimääritykset Harri Laine 1

Digitaalisen median tekniikat css tyylimääritykset Harri Laine 1 Digitaalisen median tekniikat css tyylimääritykset 30.4.2004 Harri Laine 1 Sisällön ja ulkoasun erottaminen toisistaan tavoiteltavaa sama sisältö pitäisi voida esittää erilaisilla alustoilla esim. esittää

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Tulkki: proseduurit, abstrakti syntaksi, quote ja cond (mm. SICP 44.1.5 osin) Riku Saikkonen 15. 11. 2011 Sisältö 1 Argumentittomat proseduurit ja käyttöliittymä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

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