XSLT - Sulla client

Se il tuo browser supporta l'XSLT, può essere utilizzato nel browser per convertire il documento in XHTML.

Soluzione JavaScript

Nella sezione precedente, abbiamo spiegato come utilizzare l'XSLT per convertire un documento XML in XHTML. Abbiamo completato questo lavoro aggiungendo un foglio di stile XSL al file XML e completando la conversione tramite il browser.

Anche se questo metodo funziona bene, includere riferimenti ai fogli di stile nello XML non è sempre soddisfacenti (ad esempio, questo metodo non funziona nei browser che non riconoscono l'XSLT).

Un metodo più generale è utilizzare JavaScript per completare la conversione.

Utilizzando JavaScript, possiamo:

  • Eseguire test di conferma del browser
  • Usare diversi fogli di stile in base ai browser e alle esigenze degli utenti

Ecco il fascino dell'XSLT! Uno degli obiettivi di progettazione dell'XSLT è quello di rendere possibile la conversione da un formato a un altro, supportando diversi tipi di browser e diverse esigenze degli utenti.

La trasformazione XSLT sul lato del browser diventerà una delle principali attività eseguite dai browser futuri, e vedremo anche la sua crescita nel mercato dei browser specifici (braille, stampanti di rete, dispositivi audio, ecc.).

File XML e file XSL

Vediamo questo documento XML che è stato mostrato in una sezione precedente:

<?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>

Visualizza questo file XML

e la relativa tabella di stile 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="/">
  <html>
  <body>
    <h2>La mia raccolta di CD</h2> 
    <table border="1">
      <tr bgcolor="#9acd32">
        <th align="left">Title</th> 
        <th align="left">Artist</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>

Visualizza questo file XSL

Si prega di notare che questo file XML non contiene riferimenti al file XSL.

Cosa sapere:Questo significa che il file XML può essere convertito utilizzando più fogli di stile XSL diversi.

Convertire XML in XHTML nel browser

Questo è il codice sorgente utilizzato per convertire un file XML in XHTML sul client:

<html>
<body>
<script type="text/javascript">
// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")
// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>

Suggerimento:Se non si conosce come scrivere JavaScript, si prega di studiare il nostroGuida JavaScript》。

Il primo segmento di codice crea un'istanza del parser XML di Microsoft e carica il file XML nella memoria. Il secondo segmento di codice crea un'altra istanza del parser e carica il file XSL nella memoria. L'ultima riga di codice utilizza il documento XSL per trasformare il documento XML e visualizzare i risultati come XHTML nel browser. L'operazione è completata!

请看它在 IE 中如何工作