E-gradiva > Računalništvo > Programiranje > Načrtovanje in razvoj spletnih aplikacij > XML > Oblikovanje XML s pomočjo XSL

Prijava

Oblikovanje XML s pomočjo XSL

Jezik XSL

Extensible Stylesheet Language (XSL) se je razvil iz kaskadnih stilov, ki jih razvija WWW konzorcij (W3C).

n  Specifikacije XSL so se julija 1999 razdelile v dva ločena dokumenta. Prvi se ukvarja s slovnico in semantiko XSL jezika XSL. Dokument imenujemo XSL transformacija (XSLT). Drugi dokument pa se ukvarja s formatiranjem objektov XSL. Formatiranje objektov temelji na predhodnem delu kaskadnih stilov (CSS) in DSSSL (Document Style Semantics & Specification Language). XSL je enostavnejši in bolj uporaben kot DSSSL, ki so ga uporabljali le izkušeni programerji.

 

XSL Transformacija (XSLT)

 

 

XSL procesor prejme dokument XML in na podlagi vrste vsebine naredi izhodni dokument. Pri tem imamo dva predstavitvena procesa. Prvi nam skonstruira končno drevo iz XML izvornega drevesa. Drugi proces pa nam vrača formatirane rezultate primerne za predstavitve na ekranu, papirju ali v kakšni drugi obliki. Prvemu procesu pravimo transformacija, drugemu pa formatiranje.

 

Dokument XSL


<?xml version="1.0" encoding="Windows-1250" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="html" version="1.0" encoding="Windows-1250" indent="yes" />

<xsl:template match="/">

  <html>

  <body>

    <table border="1" bgcolor="yellow">

      <tr>

        <th>Naziv prireditve</th>

        <th>Termin prireditve</th>

        <th>Lokacija</th>

        <th>Organizator</th>

        <th>Zvrst</th>

      </tr>

      <xsl:for-each select="prireditve/prireditev">

      <tr>

        <td><xsl:value-of select="naziv"/></td>

        <td><xsl:value-of select="termin"/></td>

        <td><xsl:value-of select="lokacija"/></td>       

        <td><xsl:value-of select="organizator"/></td>

        <td><xsl:value-of select="zvrst"/></td>

      </tr>

      </xsl:for-each>

    </table>

  </body>

  </html>

</xsl:template>

</xsl:stylesheet>

 

Element xsl:for-each poišče vse elemente v XML dokumentu in ponovi predlogo za vsakega izmed njih. Z atributom select opišemo katere elemente iščemo v zanki. Slovnica za to lastnost se imenuje XSL vzorec in deluje na podoben način kot deluje navigacija datotečnega sistema, kjer »/« išče podimenike. Element xsl:value-of izbere otroka v hierarhiji in vrne vsebino tega otroka. Dokument XSL se prične z elementom xsl:stylesheet s katerim povemo, da gre za stilni dokument. Ponavadi takoj za njim sledi predloga xsl:template match "/" s katero povemo, da pričnemo s transformacijo pri korenu drevesa.

 

Oblikovanje dokumenta XML s pomočjo XSL


<?xml version="1.0" encoding="Windows-1250"?>

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

<prireditve>

               <prireditev>

                         <naziv>Festival Lent</naziv>

                         <termin>25.06.2007 do 09.07.2007</termin>

                         <lokacija>Lent in ostala prizorišèa v Mariboru</lokacija>

                         <organizator>Narodni dom Maribor</organizator>

                         <zvrst>festival</zvrst>

               </prireditev>

         <prireditev>

                 <naziv>Glasbeni september</naziv>

                 <termin>18.09.2007 do 29.09.2007</termin>

                 <lokacija>SNG Maribor</lokacija>

                 <organizator>SNG Maribor</organizator>

                 <zvrst>festival</zvrst>

       </prireditev>

       <prireditev>

                 <naziv>Zlata lisica</naziv>

                 <termin>12.01.2008 do 13.01.2008</termin>

                 <lokacija>Snežni stadion pod Pohorjem</lokacija>

                 <organizator>Smuèarski klub Branik</organizator>

                 <zvrst>športna prireditev</zvrst>

       </prireditev>

</prireditve>