Trasformare un file XML con XSLT attraverso XMLDOM ed ASP | |
![]() |
|
| |
|
ASP Center
Articoli
Referenze
Script
FAQ
Downloads
Siti utili
ASP
E-Commerce con ASP
Menu Javascript
Area Aziende
Cocktail
Registrazione domini
|
Trasformare un file XML con XSLT attraverso XMLDOM ed ASP
In un precedente articolo abbiamo visto come leggere un file XML con ASP ed XMLDOM in maniera tradizionale. Negli articoli introduttivi ad XML e ad XSLT, invece, abbiamo introdotto la tecnologia e la struttura dell'ormai noto linguaggio estensibile, e la trasformazione stilistica proprietaria in formato HTML intelligibile da un browser, limitandoci però ad un est lato client.
Lo scopo di questo articolo è quello di affrontare la trasformazione di un file XML con XSLT lato server attraverso ASP. Il sistema è dei più semplici; prendiamo come spunto i file "rubrica.xml" e "rubrica.xsl" presentati negli articoli introduttivi, indicati con un link nelle righe precedenti di questo articolo, di cui ripropongo i codici
<?xml version="1.0" encoding="ISO-8859-1"?>
<rubrica>
<utente>
<nome>Pippo</nome>
<telefono>001122</telefono>
</utente>
<utente>
<nome>Pluto</nome>
<telefono>334455</telefono>
</utente>
<utente>
<nome>Paperino</nome>
<telefono>667788</telefono>
</utente>
</rubrica>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
<table align="center" width="50%" border="1">
<tr bgcolor="#000000">
<td style="color: #FFFFFF;"><b>Nome</b></td>
<td style="color: #FFFFFF;"><b>Telefono</b></td>
</tr>
<xsl:for-each select="rubrica/utente">
<tr>
<td><xsl:value-of select="nome" /></td>
<td><xsl:value-of select="telefono" /></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
Al file XSLT ho aggiunto una riga evidenziata in grassetto, il cui scopo è quello di produrre in output codice HTML pulito e non codice HTML ed XML misto.Veniamo al codice ASP, da posizionare nel punto in cui si vuole che venga effettuata la trasformazione e la relativa stampa a video
<%
Dim MyXML, MyXSL
Set MyXML = Server.CreateObject("Microsoft.XMLDOM")
MyXML.Async = False
MyXML.Load Server.MapPath("rubrica.xml")
Set MyXSL = Server.CreateObject("Microsoft.XMLDOM")
MyXSL.Async = False
MyXSL.Load Server.MapPath("rubrica.xsl")
Response.Write MyXML.transformNode(MyXSL)
Set MyXML = Nothing
Set MyXSL = Nothing
%>
Il funzionamento è ormai davvero banale: creo due oggetti XMLDOM ed in uno carico il file XML, mentre nell'altro carico il file XSLT; utilizzo poi il metodo transformNode associato all'istanza dell'oggetto XMLDOM che carica il file XML; passerò poi come parametro obbligatorio al metodo l'istanza dell'oggetto XMLDOM che carica il file XSLT. |
Newsletter
Stringhe di Conn.
|
||
| © 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti | ||||
| Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones | ||||