Lataa esitys
Esittely latautuu. Ole hyvä ja odota
1
XSL Teppo Räisänen http://www.oamk.fi/~teraisan/ Teppo.raisanen@oamk.fi
2
Yleistä XSL = EXtensible Stylesheet Language Periaatteessa XML dokumentteja voidaan muotoilla CSS-tyyleillä Muotoilu on kuitenkin rajoittunutta ja kömpelöhköä Toisin kuin HTML-kielessä selaimet eivät tunnista XML-elementtien oletusmuotoiluja
3
Yleistä XSL koostuu kolmesta osa-alueesta XSLT = XML-dokumenttien muunnoksiin käytettävä kieli XPath = Kieli XML-dokumenttien rakenteissa navigointia varten XSL-FO = Kieli XML-dokumenttien muotoilua varten
4
XSLT XSLT = XSL Transformations Tärkein osa XSL-tekniikkaa XSLT-tekniikkaa käyttäen voidaan XML- dokumentti muuntaa toisen tyyppiseksi dokumentiksi (esim. XML – (X)HTML) Meillä voisi olla vaikkapa tilanne, missä yhdestä XML-tiedostosta halutaan generoida XHTML- ja WML-tiedostot
5
XSLT Tekniikkaa käyttäen voidaan Lisätä / poistaa elementtejä ja attribuutteja Järjestää elementtejä ja vaihtaa niiden sijoituksia dokumentissa Muodostaa ehtoja, jotka vaikuttavat esim. elementtien näkyvyyteen XSLT:n voidaan sanoa käsittelevän lähderakennepuuta (source) ja muodostavan kohderakennepuun (target/result) XML on lähdepuu, XHTML voisi olla kohdepuu
6
XSLT-muunnoksen vaiheet XML-tiedosto sisältää rakenteen, XSL-tiedosto muunnosehdot XSL-tiedosto lisätään XML-dokumenttiin linkittämällä (vrt. CSS): Selain joka tukee XSL-tekniikkaa (Esim. IE >= 8) muotoilee tuloksen XSL-tiedoston ohjeiden mukaisesti
7
XSLT Käytännössä muunnoksen aikana etsitään lähdedokumentista osia, jotka vastaavat ennalta määriteltyä pohjaa (template) Löydetyistä osista muodostetaan XHTML:ää Saman dokumentin käsittelyssä voidaan käyttää useitakin rakennepohjia
8
XSLT-muunnoksen vaiheet.xsl-dokumentti kuvataan määreellä TAI Ilmaukset ovat synonyymeja Lisäksi määrittelyssä kuvataan nimiavaruus: xmlns:xsl=http://www.w3.org/1999/X SL/Transform Kertoo, että xsl-alkuiset tagit liittyvät XSLT:hen
9
XSLT-muunnoksen vaiheet Käytännössä.xsl-dokumentti alkaa aina joko Tai.. Käytetään tällä kurssilla ylempää syntaksia…
10
XSLT - elementit.xsl-dokumentti koostuu sääntökokoelmista = template - elementillä ilmoitetaan yksittäinen template match-attribuutilla yhdistetään template tiettyyn elementtiin match="/" –asetus yhdistää templaten XML- dokumentin juurielementtiin (xPath)
11
XSLT - elementit -elementillä voidaan noutaa XML-dokumentista sen solmun sisältämä arvo Hakupolku ilmoitetaan select-attribuutin arvona XPath-notaatiolla
12
XSLT - elementit Tuloksia voidaan suodattaa antamalla select- attribuutille lisämääre Kriteeri annetaan hakasulkeissa avain- arvoparina Operaattorit: = != < (pienempi kuin, nroarvoille) > (suurempi kuin, nroarvoille)
13
Esimerkki Tutustu cd.xml ja cd.xsl tiedostoihin http://www.oamk.fi/~teraisan/K1062TK /esimerkit/esim1.xml http://www.oamk.fi/~teraisan/K1062TK /esimerkit/esim1.xsl
14
XSLT - elementit Muita hyödyllisiä XSL-elementtejä
15
XSLT - elementit käy läpi kaikki elementit Esim cd.xml dokumentissa on 2 cd:tä, mutta esimerkki printtaa niistä vain ensimmäisen -elementillä voidaan tulostettava sisältö järjestää silmukan sisällä select-arvona annetaan kenttä, jonka mukaan lajittelu tehdään
16
Esimerkki Lisää seuraavat rivit esim1.xsl:ään
17
XSLT - elementit -elementin avulla voidaan muodostaa ehtorakenteita if-elementtiin liitetään test-attribuutti joka sisältää varsinaisen vertailun
18
XSLT - elementit If-else if-… muotoisia ehtoja voidaan muotoilla käyttämällä elementtejä Näistä kaksi jälkimmäistä toimivat lapsielementteinä
19
Esimerkki Tutki catalog.xml ja catalog.xsl tiedostoja http://www.oamk.fi/~teraisan/K1062TK /esimerkit/catalog.xml http://www.oamk.fi/~teraisan/K1062TK /esimerkit/catalog.xsl
20
Web server+ XML + XSL Jos haluat ajaa XML+XSL tiedostoja students- palvelimelta (tai muulta web-serveriltä) niin jos XSLT- muotoilut eivät toimi tee näin: Tee kansioon, missä XML-tiedostot ovat.htaccess tiedosto ja kirjoita sinne rivit: AddType text/xml.xsl AddType text/xml.xml Tiedostolle pitää antaa oikeudet chmod 777.htaccess
21
Kotitehtävä Perehdy harjoitustyön XML + XSLT osuuteen
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.