XML

XML KOULUTUSTA VUONNA 2008

Kysy myös tuotekohtaisia koulutuksia, kuten Altova XMLSpy tai Cladonia Exchanger.

Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi !
IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat

 

XSL /XSLT muunnoksen suorittaminen XML-datalle - esimerkki

Tässä artikkelissa jatkamme aiemmin luomamme XML-esimerkin työstämistä ja käännämme XML-datan HTML-muotoon clientside-muunnoksen avulla.

Vaihe 1. Liitä XSL/XSLT-tyylimäärittely XML dokumenttiin. Tämä tapahtuu lisäämällä XML-tiedoston alkuun koodi:

<?xml-stylesheet type="text/xsl" href="projekti.xsl"?> 

Muista samalla poista viittaus CSS-tiedostoon.

Vaihe 2. Luo uusi XML-tiedosto ja tallenna se nimellä projekti.xsl


<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 

<!-- luodaan XHTML DOCTYPE ja PI tulosteeseen -->
<xsl:output version="1.0" omit-xml-declaration="no" method="xml" />

<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" 
 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
 method="xml" /> 



<!-- juurielementin template -->
<xsl:template match="/">     
	<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi">
	<head>
	<!-- noudetaan otsikon arvo suoralla viittauksella 
    otsikko-atribuuttiin -->
	<title><xsl:value-of select="artikkelidata/dokumentti/@otsikko"/></title>
	</head>
    <body>
      <h1>Esimerkki XML/XSL muunnoksesta</h1>
	  <!-- kutsutaan artikkelidata templatea-->
	  <xsl:apply-templates select="//artikkelidata" />
    </body>
  </html>
</xsl:template>
 


<!-- artikkelidatan template --> 
<xsl:template match="artikkelidata">
    <div style="width: 500;">
	<!-- kutsutaan dokumentti templatea-->
    <xsl:apply-templates select="dokumentti" />
   </div>
</xsl:template>
 
 

<!-- dokumentti template --> 
<xsl:template match="dokumentti">
  <h1><xsl:value-of select="@otsikko"/></h1>
  <em><xsl:value-of select="@kirjoittaja"/> /<xsl:value-of select="@pvm"/>    </em>
<!-- kutsutaan kappale templatea-->
  <xsl:apply-templates select="kappale" />
</xsl:template>


<!-- kappale template --> 
<xsl:template match="kappale">
   <p><xsl:value-of select="." /></p>
</xsl:template>  

</xsl:stylesheet>

Vaihe 3. Testaa. Kun tarkastelet XML-tiedostoa selaimessasi, käyttäytyy se kuten mikä tahansa HTML/XHTML-sivu. Sen sijaan jos tarkastelet sivun lähdekoodia selaimessa, näkyy se edelleen XML-koodina. Tämä johtuu siitä, että muunnoksen suorittaa asiakkaan selain vasta sivua esitettäessä; lopputulos on verrattavissa esim. JavaScriptin käyttöön. Sen sijaan jos suoritat saman muunnoksen palvelimella (kts. esimerkkikoodi ASP ja XSLT-muunnoksesta) on lopputulos 100% XHTML-standardin täyttävä sivu lähdekoodia myöten; tässä tapauksessa palvelin suorittaa muunnoksen ja välittää käännetyn lopputuloksen asiakkaalle.

Käännöksen toimivuuteen vaikuttavat mm. tietokoneella oleva "järjestelmä XML-parserin" versio (etenkin palvelimella suoritettava muunnos) sekä selain (clientside muunnos; selaimet käyttävät joko järjestelmän XML-parseria tai omaa sisäänrakennettua parseriaan). Tästä syystä ainoastaan palvelimella suoritettavat XSL/XSLT-muunnokset ovat suositeltavia tuotantokäyttöön suunnatuissa ratkaisuissa..

Tutustu artikkelin muihin osiin:
»»» XML »»»XSL ja XSLT
»»» XML »»»XSL / XSLT muunnosten syntaksista
»»» XML »»»XSL / XSLT muunnos esimerkki

Tallenna tämä sivu kirjanmerkkeihin!

 

2kmediat.com, ©2000-2008 Koulutus- ja konsultointipalvelu KK Mediat.
Tekijänoikeuksia koskeva tiedonanto | Tietosuojalausunto | Sivukartta