Corsi on-line

Trasformare un documento XML in XSLT con CFML

  • CommentiScrivi un commento
  • ForumDiscuti sul forum
  • PrevGestione degli errori in CFML
  • NextForzare il download di un file con CFML

Cold Fusion riesce in maniera molto semplice ad effettuare la trasformazione di un file XML in XSLT utilizzando il comando CFHTTP per reperire file XML, anche remoti.

Prima di passare al codice CFML dell'esempio, creiamo un file XML ed un file XSLT di prova; il primo si chiamerÓ database.xml ed il secondo style.xsl. Di seguito riporto i codici:

L'articolo continua dopo la pubblicità

database.xml

<?xml version="1.0"?>
<database>
    <record>
        <nome>Giuseppe</nome>
        <cognome>Verdi</cognome>
    </record>
    <record>
        <nome>Antonio</nome>
        <cognome>Bianchi</cognome>
    </record>
    <record>
        <nome>Mario</nome>
        <cognome>Rossi</cognome>
    </record>
</database>
style.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <h1>Elenco utenti</h1>
    <table border="1">
        <tr>
            <th align="left">Nome</th>
            <th align="left">Cognome</th>
        </tr>
        <xsl:for-each select="database/record">
        <tr>
            <td><xsl:value-of select="nome"/></td>
            <td><xsl:value-of select="cognome"/></td>
        </tr>
        </xsl:for-each>
    </table>
</xsl:template>
</xsl:stylesheet>
Segui i link indicati per maggiori informazioni su XML e XSLT.

Passiamo al codice CFML.

Iniziamo con la localizzazione del file XML, applicando il metodo di invio dei dati e di non risolvere la URL del file:

<CFHTTP url="database.xml" method="GET" resolveurl="false">
Localizziamo adesso il file XSLT:
<CFSET mio_xslt = ExpandPath("style.xsl")>
Leggiamo il file XSLT dopo averlo localizzato:
<CFFILE ACTION="READ" FILE="#mio_xslt#" VARIABLE="var_xslt">
Effettuiamo materialmente la trasformazione associando il file XML ed il file XSLT utilizzando la funzione XMLTransform():
<CFSET risultato = XMLTransform(CFHTTP.fileContent, var_xslt)>
Mandiamo in output sulla pagina il risultato della trasformazione:
<cfoutput>#risultato#</cfoutput>
Di seguito il codice completo dell'applicazione:
<CFHTTP url="database.xml" method="GET" resolveurl="false">
<CFSET mio_xslt = ExpandPath("style.xsl")>
<CFFILE ACTION="READ" FILE="#mio_xslt#" VARIABLE="var_xslt">
<CFSET risultato = XMLTransform(CFHTTP.fileContent, var_xslt)>
<cfoutput>#risultato#</cfoutput>

Corsi
  • Corso AJAX
    Corso AJAX
    Applicazioni Web 2.0 basate su AJAX con ASP, ASP.NET e PHP. A partire da 39 €
  • Corso ASP e Access
    Corso ASP e Access
    Gestione di un database MS Access con ASP. A partire da 29 €
  • Corso MS SQL Server
    Corso MS SQL Server
    Gestire database con Microsoft SQL Server. A partire da 39 €
Vedi anche...
Guide