XSLT - Auf dem Server

Da nicht alle Browser XSLT unterstützen, ist eine andere Lösung, die Konvertierung von XML in XHTML auf dem Server durchzuführen.

Cross-Browser-Lösung

In den vorherigen Kapiteln haben wir erklärt, wie man XSLT im Browser verwendet, um die Konvertierung von XML in XHTML durchzuführen. Wir haben ein JavaScript erstellt, das den XML-Parser zur Konvertierung verwendet. Die JavaScript-Lösung funktioniert nicht auf Browsern ohne XML-Parser. Um XML-Daten für alle Arten von Browsern geeignet zu machen, müssen wir die XML-Dokumente auf dem Server konvertieren und sie als XHMTL an den Browser senden.

Das ist ein weiterer Vorteil von XSLT. Eines der Designziele von XSLT ist es, die Möglichkeit zu schaffen, Daten auf dem Server von einem Format in ein anderes zu konvertieren und lesbare Daten an alle Arten von Browsern zurückzugeben.

XML-Datei und XSL-Datei

Bitte sehen Sie sich das in den vorherigen Kapiteln gezeigte XML-Dokument an:

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

Diese XML-Datei anzeigen.

sowie den beiliegenden XSL-Stilblatt:

<?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>Meine CD-Sammlung</h2> 
    <table border="1">
      <tr bgcolor="#9acd32">
        <th align="left">Titel</th> 
        <th align="left">Künstler</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>

Diesen XSL-Datei anzeigen.

Bitte beachten Sie, dass diese XML-Datei keine Referenz auf die XSL-Datei enthält.

Wichtige Information:Diese Aussage zeigt, dass eine XML-Datei mit mehreren verschiedenen XSL-Stilblättern umgewandelt werden kann.

Die Umwandlung von XML in XHTML auf dem Server

Dies ist der Quellcode, um eine XML-Datei auf dem Server in XHTML umzuwandeln:

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Transform file
Response.Write(xml.transformNode(xsl))
%>

Tipp:Wenn Sie nicht wissen, wie man ASP schreibt, können Sie unsereASP-Tutorials》。

Der erste Code erstellt eine Instanz des XML-Parser von Microsoft und lädt die XML-Datei in den Speicher. Der zweite Code erstellt eine weitere Instanz des Parsers und lädt diese XSL-Datei in den Speicher. Die letzte Zeile des Codes transformiert das XML-Dokument mit dem XSL-Dokument und sendet das Ergebnis als XHTML an Ihren Browser. Aufgabe erledigt!

Sehen Sie, wie es funktioniert.