Latest web development tutorials

XSLT sul client

Se il browser supporta XSLT, quindi il browser che può essere utilizzato per convertire i documenti in XHTML.


soluzione JavaScript

Nel capitolo precedente, abbiamo insegnato come utilizzare XSLT per trasformare un documento XML in XHTML. Lo facciamo attraverso le seguenti modalità: Aggiunto foglio di stile XSL per il file XML, e completare la conversione attraverso un browser.

Anche se l'effetto di questo metodo è molto buona, i riferimenti foglio di stile non sono sempre soddisfacenti (ad esempio, nel browser XSLT non riconosce questo approccio non funziona) è incluso nel file XML.

approccio più generale è quello di usare JavaScript per completare la conversione.

Utilizzando JavaScript, possiamo:

  • Il browser per test di conferma
  • A seconda del browser e le esigenze degli utenti di utilizzare un foglio di stile diverso

Questo è il fascino XSLT! XSLT è uno progettato per rendere i dati da un formato ad un altro formato possibile e supportare diversi tipi di browser e diverse esigenze degli utenti.

Cliente trasformazione XSLT diventerà il futuro uno dei principali compiti svolti dal browser, e vedremo la sua crescita (Braille, i browser auditivi, stampanti di rete, dispositivi palmari, etc.) in un particolare mercato dei browser.


documenti XML e file XSL

Guardate questo nella sezione precedente ha mostrato fuori un documento XML:

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

Visualizzare il file XML .

E che accompagna foglio 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>My CD Collection</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>

Vedere file XSL .

Si prega di notare, il file XML non contiene un riferimento al file XSL.

IMPORTANTE: La frase sopra significa, file XML possono utilizzare diversi fogli di stile XSL diversi da convertire.


Nel browser convertire XML in XHTML

Questo è per il client di file XML in codice sorgente XHTML:

Esempi

<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.ActiveXObject)
{
xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
else
{
xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
// code for IE
if (window.ActiveXObject)
{
ex=xml.transformNode(xsl);
document.getElementById("example").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>

Prova »

Suggerimento: se non si sa come scrivere JavaScript, si prega di studiare la nostra esercitazione JavaScript .

Esempi spiegano:

loadXMLDoc function ()

Funzione loadXMLDoc () viene utilizzata per caricare i file XML e XSL.

Esso controlla il tipo di browser e l'utente deve caricare il file.

Funzione displayResult ()

Questa funzione viene utilizzata per definire il file XML stile di visualizzazione utilizzando i file XSL.

  • Caricamento di file XML e XSL
  • gli utenti di prova hanno il tipo di browser
  • Se il supporto del browser oggetti ActiveX dell'utente:
    • Utilizzare il metodo transformNode () del foglio di stile XSL per il documento XML
    • Impostare il documento corrente (id = "example") contiene lo stile corpo è stato applicato documenti XML
  • Se il browser dell'utente non supporta gli oggetti ActiveX:
    • Creare un nuovo file oggetto e l'importazione XSL XSLTProcessor
    • Utilizzare il metodo transformToFragment () del foglio di stile XSL per il documento XML
    • Impostare il documento corrente (id = "example") contiene lo stile corpo è stato applicato documenti XML