XSL :)
XSL eli Extensible Style Language on standardi, jonka avulla XML-dokumentit voidaan muuttaa helppolukuisiksi tai tulostuskelposiksi. Se jakaantuu kahteen osaan: XSLT ja XSL-Fo. XSLT on kieli, jonka avulla XML dokumentti voidaan muokata toiseksi rakenteiseksi dokumentiksi kuten esim. HTML:ksi. XSL-FO:n avulla XML-dokumnetista voidaan laatia esitys- tai tulostuskelpoinen dokumentti kuten esim. pdf-tiedosto. (Kalliola 2001, 97.)
XSL on paljon enemmän kuin pelkkä ulkoasu, koska sillä voidaan mm määritellä järjestys. Voit esim. sen avulla laittaa CD-levysi aakkosjärjestykseen.
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="catalog.xsl"?> <luettelo> |
<cd> <nimi>Sticker hårt</nimi> <artisti>Markoolio</artisti> <maa>Ruotsi</maa> <hinta>21</hinta> <vuosi>1998</vuosi> </cd> |
<cd> <nimi>Helvetisti järkee</nimi> <artisti>Zen Cafe</artisti> <maa>Suomi</maa> <hinta>2001</hinta> <vuosi>1982</vuosi> </cd> <cd> <nimi>Popmuseo</nimi> <artisti>Neljä ruusua</artisti> <maa>Suomi</maa> <hinta>16.90</hinta> <vuosi>2000</vuosi> </cd> </luettelo>
|
XSL-dokumentti
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0">
|
<xsl:template match="/"> <html> <head> <title>CD-kokoelma</title> </head> <body> <table border="1"> <xsl:apply-templates select="luettelo/cd"> <xsl:sort select="artisti" order="ascending"/> </xsl:apply-templates> </table> </body> </html> </xsl:template> |
<xsl:template match="luettelo/cd"> <tr> <td><xsl:value-of select="artisti"/></td> <td><xsl:value-of select="nimi"/></td> </tr> </xsl:template> |
Mitä tapahtuu ja mitä pitää muistaa?
1) Muista liittää xsl XML dokumenttiin
<?xml-stylesheet type="text/xsl" href="catalog.xsl"?> |
2) XSL kääntää XML:n HTML:ksi
<xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/">
|
3) XSL sisältää HTML-koodia
<html> <head> <title>CD-kokoelma</title> </head>
|
4) Tiedon hakeminen ja sen järjestäminen
<xsl:apply-templates select="luettelo/cd"> <xsl:sort select="artisti" order="ascending"/>
|
Tehtävä Harjoittele. Laita mukaan taulukkoon hinta ja maa ja vaihda lajittelujärjestystä.
|