XSLT - Sul server
- Pagina precedente XSLT nel client
- Pagina successiva Modifica XML con XSLT
Poiché non tutti i browser supportano XSLT, un'altra soluzione è completare la conversione da XML a XHTML sul server.
Soluzione multi-browswer
Nei capitoli precedenti, abbiamo spiegato come utilizzare XSLT nei browser per completare la conversione da XML a XHTML. Abbiamo creato un pezzo di JavaScript che utilizza un parser XML per la conversione. La soluzione JavaScript non funziona nei browser senza parser XML. Per rendere i dati XML compatibili con tutti i tipi di browser, dobbiamo convertire il documento XML sul server e inviarlo al browser come XHMTL.
Questo è un altro vantaggio di XSLT. Uno degli obiettivi di progettazione di XSLT è rendere possibile la conversione dei dati da un formato a un altro sul server e restituire dati leggibili a tutti i tipi di browser.
File XML e file XSL
Vedi questo documento XML che è stato mostrato nei capitoli precedenti:
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
ecco anche lo stile XSL allegato:
<?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="/"> <html> <body> <h2>Mia Collezione di CD</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Titolo</th> <th align="left">Artista</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title" /></td> <td><xsl:value-of select="artist" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Si prega di notare che questo file XML non contiene riferimenti al file XSL.
Punti Importanti:La frase sopra indica che il file XML può essere convertito utilizzando più fogli di stile XSL diversi.
Convertire XML in XHTML sul server
Questo è il codice sorgente per convertire un file XML in XHTML sul server:
<% 'Carica XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) 'Carica XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) 'Transforma file Response.Write(xml.transformNode(xsl)) %>
Suggerimento:Se non si conosce come scrivere ASP, è possibile imparare il nostroASP Tutorial》
Il primo codice crea un'istanza del parser XML di Microsoft e carica il file XML nella memoria. Il secondo codice crea un'altra istanza del parser e carica il file XSL nella memoria. L'ultima riga di codice trasforma il documento XML utilizzando il documento XSL e invia il risultato come XHTML al browser. L'operazione è completata!
- Pagina precedente XSLT nel client
- Pagina successiva Modifica XML con XSLT