XSLT - Auf dem Server

Da nicht alle Browser XSLT unterstützen, gibt es 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 verwendet, um die Konvertierung von XML in XHTML im Browser 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 einer der Vorteile von XSLT. Eines der Designziele von XSLT ist es, die Daten auf dem Server von einem Format in ein anderes zu konvertieren und lesbare Daten für alle Arten von Browsern zurückzugeben.

XML-Datei und XSL-Datei

Sehen Sie sich das hier vorgestellte XML-Dokument in den vorherigen Kapiteln 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>

Betrachten Sie diese XML-Datei.

sowie die beiliegenden XSL-Stiltabellen:

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

Diese XSL-Datei anzeigen.

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

Wichtig:Diese Zeile zeigt, dass XML-Dateien mit mehreren verschiedenen XSL-Stilblättern transformiert werden können.

XML in XHTML auf dem Server konvertieren

Dies ist der Quellcode, um XML-Dateien auf dem Server in XHTML zu konvertieren:

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

Hinweis:Falls Sie nicht wissen, wie man ASP schreibt, können Sie unsereASP Anleitung

The first piece of code creates an instance of Microsoft's XML parser and loads the XML file into memory. The second piece of code creates another instance of the parser and loads the XSL file into memory. The last line of code uses the XSL document to transform the XML document and sends the result as XHTML to your browser. Task completed!

See how it works.