Cel mai simplu mod de utilizare pentru a vedea functionalitatea si utilitatea limbajului este crearea unui fisier XSL ce va contine informatii despre formatarea nuui fisier XML. Pentr a realiza legatura intre cele doua fisier, in fisierul xml ce se doreste formatat se va introduce linia:
, atributul href indicand fisierul de formatare folosit. Browserul se va ocupa in continuare, la deschiderea fisierului XML, de a aplica formatarea descrisa in foaia_de_formatare.xsl.
Cel mai important element din XSLT este templateul, avand sintaxa:
<xsl:template match="element_XPath">
<!--prelucrari-->
<xsl:template>
Elementul match specifica o expresie XPath dupa care se indentifica nodurile ce vor fi prelucrate. In interiorul XSL:template se vor prelua apoi datele dorite din nodul gasit si se va face formatarea lor. Un fisier xsl va avea urmatoarea structura:
<xsl:stylesheet version="1.0" xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
.......
</xsl:template>
</xsl:stylesheet>
In locul tagului “xsl:stylesheet” se poate folosi si:
<xsl:transform version="1.0" xsl="http://www.w3.org/1999/XSL/Transform">
</xsl:transform>
Ca urmare a folosirii xsl:template, elementul indicat de match (in exemplul de mai sus fiind vorba de nodul radacina) va fi inlocuit cu continutul
Alte cateva elemente importante sunt:
-> <xsl:value-of> ce va extrage valoare unui nod extras folosind o expresie XPath
-> <xsl:for-each> ce permite extragerea unui set de noduri ce indeplinesc o conditie XPath, fiecare fiind apoi formatat.
-> <xsl:sort> ce va realiza sortarea elementelor, atributul select indicand campul dupa care se va face sortarea, iar atributul order, ordinea finala a elementelor.
Un mic exemplu ce permite afisarea xml-ului generat la exportarea cartilor din libraryul gmail intr-un tabel, sortate dupa titlu este urmatorul:
<xsl:stylesheet version="1.0" xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table>
<tr>
<th>ID</th>
<th>URL</th>
<th>Title</th>
<th>Authors</th>
<th>ISBN</th>
<th>Labels</th>
</tr>
<xsl:for-each select="//book">
<xsl:sort order="ascending" select="title"/>
<tr>
<td><xsl:value-of select="id"></xsl:value-of>
</td>
<td><xsl:value-of select="url"></xsl:value-of>
</td>
<td><xsl:value-of select="title"></xsl:value-of>
</td>
<td><xsl:value-of select="contributor"></xsl:value-of>
</td>
<td><xsl:value-of select="//identifier[.//type='ISBN']/value"></xsl:value-of>
</td>
<td>
<xsl:for-each select="labels/label">
<xsl:value-of select="."> ,
</xsl:value-of>
</xsl:for-each></td>
</tr>
<
</xsl:stylesheet>
Niciun comentariu:
Trimiteți un comentariu