8 XSLT-muunnoskieli XSLT-muunnoskieli

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

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

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

Miten käydä läpi puun alkiot (traversal)?

Luento 3: Tietorakenteiden esittäminen

A TIETORAKENTEET JA ALGORITMIT

Luento 11: XSL-FO & SVG

Hohde Consulting 2004

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

Helsingin yliopisto/tktl XML-metakieli XPath

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

Extensible Stylesheet Language (XSL)

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

Algoritmit 1. Luento 7 Ti Timo Männikkö

P e d a c o d e ohjelmointikoulutus verkossa


Algoritmit 2. Luento 5 Ti Timo Männikkö

Hohde Consulting 2004

Verkkosivut perinteisesti. Tanja Välisalo

XML - perusteet. Ctl230: Luentokalvot Miro Lehtonen

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

Algoritmit 2. Luento 6 To Timo Männikkö

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli

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

Algoritmit 2. Luento 5 Ti Timo Männikkö

Luento 7: XML-ohjelmointirajapinnat

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...

Nimeäminen. Distributed systems - principles & paradigms kirjan luku 5. Kari Systä

Nimeäminen. Kari Systä. Distributed systems - principles & paradigms kirjan luku /Kari Systä OHJ-5010/Hajautettujen perusteet 1

Binäärihaun vertailujärjestys

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

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Algoritmit 2. Luento 4 Ke Timo Männikkö

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

XML-perusteet. 2 Rakenteiset dokumentit. 2.1 XML-standardi

811312A Tietorakenteet ja algoritmit III Lajittelualgoritmeista

Algoritmit 2. Luento 6 Ke Timo Männikkö

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. joulukuuta 2015

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

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

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö

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

Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi (jatkoa)

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö

Luento 4: XPath ja XLink

XSL Formatting Objects

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli

XSLT - ohjelmoinnin perusteet. Jaana Holvikivi Metropolia

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

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

Algoritmit 2. Luento 10 To Timo Männikkö

Kierros 3: Puut. Tommi Junttila. Aalto University School of Science Department of Computer Science

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

Muita linkattuja rakenteita

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

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

TIEDEJUTTUKURSSI FM VILLE SALMINEN

XSL-muunnokset. 9 XSL-muunnokset

Oppisisällön metatieto

B + -puut. Kerttu Pollari-Malmi

4. Lausekielinen ohjelmointi 4.1

1 Puu, Keko ja Prioriteettijono

XML rakenteen suunnittelu. Jaana Holvikivi

Microsoft Visual Studio 2005

Johdatus rakenteisiin dokumentteihin

CSE-A1200 Tietokannat

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Matematiikan oppimateriaalia verkkoon: kompleksiluvut

1.1 Tavallinen binäärihakupuu

Tietorakenteet, laskuharjoitus 7, ratkaisuja

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009

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

XML / DTD / FOP -opas Internal

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

14 Tasapainotetut puurakenteet

Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa

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

Web-teknologiat. XML-datan kysely Topi Sarkkinen

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Luku 4. Tietorakenteet funktio-ohjelmoinnissa. 4.1 Äärelliset kuvaukset

Digitaalisen median tekniikat css tyylimääritykset

Kierros 4: Binäärihakupuut

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Julian graafinen annotointityökalu ja erityisontologioiden editori. Jaason Haapakoski P Kansanterveyslaitos , 28.3.

ARVO - verkkomateriaalien arviointiin

Pysyvät tunnukset ja niiden hyödyntäminen

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

Tietorakenteet ja algoritmit Puurakenteet Ari Korhonen

2 Rakenteisten dokumenttien perusteet

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

Digitaalisen median tekniikat css tyylimääritykset

CS-A1140 Tietorakenteet ja algoritmit

W3C, Web-teknologiat ja XML

Luku 8. Aluekyselyt. 8.1 Summataulukko

Transkriptio:

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 näyttöruudulla. CSS-kielessä ei ole riittävästi ominaisuuksia rakenteisten dokumenttien käsitelylle. Näin ollen rakenteisille dokumenteille on kehitetty oma tyylikieli XSL (extensible Stylesheet Language), jossa on muunnoskomentoja XSLT (XSL for Transfomations) ja muotoilukomentoja XSLFO (XSL for Formatting Objects) [11,12]. Kuva 8.1 esittää XSL-muunnosprosessia, jossa XSLT-suoritin saa syötteenä XML-dokumentin ja XSLT-tyylipohjan ja muodostaa käskyjen p erusteella uuden XML-dokumentin. XSLmuunnoksia on käsitelty laajasti lähteessä [1, s. 445-517]. Jokainen oikeanmuotoinen XML-dokumentti on puu (tree). Puu on tietorakenne, jossa on solmuja (nodes). Puussa on aina yksi ja vain yksi juurisolmu (root node), jolla voi olla useita lapsisolmuja (child nodes). Jokaisella lapsisolmulla on aina yksi ja vain yksi isäsolmu (parent node). Lehtisolmu (leaf node) on sellainen solmu, jolla ei ole lapsia. Mikä tahansa solmu ja sen lapset muodostavat alipuun (sub tree). Näin ollen puu on hierarkkinen rakenne, jossa voidaan erottaa useita erilaisia alipuita. XML-puussa solmut ovat elementtejä ja elementtien sisältöjä. XLS-muunnoskielessä ominaisuudet (attributes), nimiavaruudet (name spaces), käsittelykomennot (instructions) ja kommentit (comments) on tulkittava omiksi solmuiksi. Lisäksi XMLdokumentin juuri on myös erotettava puun juurielementistä. XSL-suoritin erottaa 7 eri solmutyyppiä, jotka ovat juuri, elementti, teksti, ominaisuus, nimiavaruus, käsittelykomento ja kommentti. Kuvassa 8.2 on esimerkki kurssilistaa kuvaavasta XMLdokumentista 08-00a.xml, jonka puurakenne on kuvassa 8.3. Kuva 8.1 XLS-muunnosprosessi

52 XML-perusteet Kuva 8.2 XML-kurssilista 08-00a.xml, jossa 2 kurssia ZO010 ja ZO020 Kuva 8.3 dokumentin 08-00a.xml XML-puun osa, josta puuttuu kurssi ZO020 (kohta B)

8 XSLT-muunnoskieli 53 Kuvassa 8.4 on XSL-tyylipohja 08-00a.xsl, jolla kuvan 8.2 XML-dokumentti 08-00a.xml muunnetaan HTML-dokumentiksi (kuva 8.5). Tämä muunnos voidaan te hdä Javaohjelmalla XT.exe, joka on osoitteessa http://www.jclark.com/xml/xt.html. Koneessa pitää olla asennettuna Java Virtual Machine, joka on mukana esimerkiksi Windows 2000 Service Pack 2 :ssa. Muunnoskomento annetaan DOS-kehotteeseen muodossa xt 08-00a.xml 08-00a.xsl 08-00a.html, missä 08-00a.html on muunnettu dokumentti (kuva 8.5). Kuvassa 8.6 dokumentti 08-00a.html on avattuna IEE 6 selaimella. Kuva 8.4 XSL-tyylipohja 08-00a.xsl dokumentille 08-00a.xml Kuva 8.5 XML-kurssilista 08-00a.html

54 XML-perusteet Kuva 8.6 XML-kurssilista 08-00a.html avattuna IEE 6 -selaimella 8.1 XML-dokumentti ja sen tyylipohja Kuvassa 8.7 on XML-dokumentti 08-01a.xml, jossa on elokuvaluettelo. Elokuvaluett e- lolle 08-01a.xml on tehty XSL-muunnoskielellä tyylisivu 08-01a.xsl (kuva 8.8), joka on avattu IEE 6 selaimella kuvassa 8.9. Kuva 8.7 elokuvaluettelo 08-01a.xml

8 XSLT-muunnoskieli 55 Kuva 8.8 XSL-tyylipohja 08-01a.xsl dokumentille 08-01a.xml Kuva 8.9 XML-elokuvaluettelo 08-01a.xml avattuna IEE 6 -selaimella

56 XML-perusteet 8.2 Monta XML-dokumenttia ja tyylipohjaa XML-dokumentin 08-02a.xml sisältö on muuten sama kuin dokumentin 08-01a.xml (kuva 8.7) paitsi, että tyylipohjana on dokumentti 08-02.xsl (kuva 8.10). Tyylipohjaan on tehty määritykset, joilla WWW-sivulta voidaan haarautua XML-dokumenttiin 08-02b.xml (linkki Ohjaaja), 08-02c.xml (linkki Vuosi), 08-02d.xml (linkki Toiminta), 08-02e.xml (linkki Draama), 08-02f.xml (linkki Tieteis), 08-02g.xml (linkki Komedia) ja 08-02h.xml (linkki Kauhu). Jokaisella XML-dokumentilla on oma tyylipohja 08-02b.xsl, 08-02c.xsl, 08-02d.xsl, 08-02e.xsl, 08-02f.xsl ja 08-02h.xsl. Tyylipohja 08-02a.xsl järjestää dokumentin 08-02a.xml elokuvat nimen mukaan, tyyl i- pohja 08-02b.xsl järjestää dokumentin 08-02b.xml elokuvat ohjaajan mukaan ja tyyl i- pohja 08-02c.xsl järjestää dokumentin 08-02c.xml elokuvat vuoden mukaan nous e- vaan järjestykseen. Edelleen tyylipohja 08-02d.xsl poimii dokumentista 08-02d.xml toimintaelokuvat (kuva 8.11), tyylipohja 08-02e.xsl poimii dokumentista 08-02e.xml draamat, tyylipohja 08-02f.xsl poimii dokumentista 08-02f.xml tieteiselokuvat, tyylipohja 08-02g.xsl poimii dokumentista 08-02g.xml komediat ja tyylipohja 08-02h.xsl poimii dokumentista 08-02h.xml kauhuelokuvat ja lopuksi jokainen tyylipohja järjestää poimitut elokuvat nimen mukaan nousevaan järjestykseen. Kuvassa 8.12 dokumentti 08-02a.xml on avattu IEE 6 selaimella. Kuva 8.10 XSL-tyylipohja 08-02a.xsl dokumentille 08-02a.xml

8 XSLT-muunnoskieli 57 Kuva 8.11 XSL-tyylipohja 08-02d.xsl dokumentille 08-02d.xml Kuva 8.12 XML-elokuvaluettelo 08-02a.xml avattuna IEE 6 selaimella