free webpage counters
ETUSIVU materiaalit

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-dokumentti
<?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>
</xsl:stylesheet>


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