Eseguire managed code con XSLT

di Andrea Zani, in ASP.NET,
  • 0
  • 0
  • 0
  • 17,54 KB

Ci siamo già occupati in passato di questo argomento, attraverso questo articolo di Luca Passani.

XSL, acronimo di eXtensible Stylesheet Language , ci permette in maniera facile la conversione di una fonte di dati XML in un altro qualsiasi formato: un altro file XML, codice HTML o qualsiasi altra cosa ci venga in mente, come un PDF .

Il .NET Framework mette a disposizione un Rich Control che permette questo genere di trasformazioni, senza scrivere una sola riga di codice. E' sufficiente inserire il webcontrol con le proprietà del nome dei file XML e XSL, perché visualizzi il risultato nella nostra pagina applicando in automatico la trasformazione:

<asp:XML id="Xml1" runat="server"
DocumentSource="articoli.xml"
TransformSource="esempio_1.xslt">
</asp:Xml>

Il file articoli.xml ha questo contenuto:

 
<?XML version="1.0" encoding="utf-8" ?> 
<articoli>
  <articolo>
   <codice>xxx001</codice>
   <descrizione>Articoli 01</descrizione>
   <data_inserimento>1/1/2004</data_inserimento>
  </articolo>
  <articolo>
   <codice>xxx002</codice>
   <descrizione>Articoli 02</descrizione>
   <data_inserimento>21/6/2003</data_inserimento>
  </articolo>
...
  <articolo>
   <codice>xxx006</codice>
   <descrizione>Articoli 06</descrizione>
   <data_inserimento>26/08/2000</data_inserimento>
  </articolo>
</articoli>

Ed ecco il file XSLT, con la trasformazione:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
<xsl:template match="/">
<table border="1" cellspacing="0" cellpadding="1">
<tr>
  <th>Codice</th>
  <th>Descrizione</th>
  <th>Data inserimento</th>
</tr>
<xsl:for-each select="//articoli">
  <xsl:apply-templates select="articolo" />
</xsl:for-each>
</table>
</xsl:template>
 
<xsl:template match="articolo">
  <tr>
  <td><xsl:value-of select="codice" /></td>
  <td><xsl:value-of select="descrizione" /></td>
  <td><xsl:value-of select="data_inserimento" /></td>
  </tr>
</xsl:template>
</xsl:stylesheet>

Il risultato dell'esecuzione di questo codice sarà il seguente:

Immagine

3 pagine in totale: 1 2 3

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti