XSL Teppo Räisänen
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
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
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)
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)
XSLT Käytännössä muunnoksen aikana etsitään lähdedokumentista osia, jotka vastaavat ennalta määriteltyä pohjaa (template) Saman dokumentin käsittelyssä voidaan käyttää useitakin rakennepohjia
XSLT-muunnoksen vaiheet.xsl-dokumentti kuvataan määreellä TAI Ilmaukset ovat synonyymeja Lisäksi määrittelyssä kuvataan nimiavaruus: xmlns:xsl= SL/Transform
XSLT-muunnoksen vaiheet.xsl-tiedostossa kuvataan pohja (template) muunnokselle XSL-dokumentin alkuosassa kuvataan em. tyyppimäärittely ja nimiavaruus (namespace) Dokumentin juurielementti on
XSLT-muunnoksen vaiheet Tyylitiedosto lisätään XML-dokumenttiin linkittämällä (vrt. CSS): Selain joka tukee XSL-tekniikkaa (Esim. IE >= 6) muotoilee tuloksen tyylitiedoston ohjeiden mukaisesti
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)
XSLT - elementit -elementillä voidaan noutaa XML-dokumentista sen solmun sisältämä arvo Hakupolku ilmoitetaan select-attribuutin arvona /-merkinnällä viitataan XML-dokumentin lapsielementteihin
XSLT - elementit Tuloksia voidaan suodattaa antamalla select- attribuutille lisämääre Kriteeri annetaan hakasulkeissa avain- arvoparina Operaattorit: = != < (pienempi kuin, nroarvoille) > (suurempi kuin, nroarvoille)
XSLT - elementit -elementillä voidaan tulostettava sisältö järjestää Järjestelyä käytetään - silmukan sisällä select-arvona annetaan kenttä, jonka mukaan lajittelu tehdään
XSLT - elementit -elementin avulla voidaan muodostaa ehtorakenteita if-elementtiin liitetään test-attribuutti joka sisältää varsinaisen vertailun
XSLT - elementit If-else if-… muotoisia ehtoja voidaan muotoilla käyttämällä elementtejä Näistä kaksi jälkimmäistä toimivat lapsielementteinä