XSLT - Client

Wenn Ihr Browser XSLT unterstützt, kann er im Browser verwendet werden, um Dokumente in XHTML umzuwandeln.

JavaScript-Lösung

Im vorangegangenen Kapitel haben wir Ihnen gezeigt, wie Sie mit XSLT einen XML-Dokument in XHTML umwandeln können. Wir haben dies durch die folgenden Schritte erreicht: Hinzufügen von XSL-Stylesheets zu XML-Dateien und die Transformation durch den Browser durchführen.

Obwohl diese Methode sehr effektiv ist, ist es nicht immer zufriedenstellend, Verweise auf Stylesheets in XML-Dateien zu enthalten (z.B. funktioniert diese Methode nicht in Browsern, die XSLT nicht erkennen).

Eine allgemeingültigere Methode ist es, die Transformation mit JavaScript durchzuführen.

Durch die Verwendung von JavaScript können wir:

  • Führen Sie eine Browser-Validierungstestdurchführung durch
  • Verwenden Sie unterschiedliche Stylesheets je nach Browser und Benutzeranforderungen

Das ist der Reiz von XSLT! Eines der Designziele von XSLT ist es, die Umwandlung von einem Format in ein anderes zu ermöglichen, während gleichzeitig verschiedene Arten von Browsern und verschiedene Benutzeranforderungen unterstützt werden.

Die XSLT-Transformation wird sicherlich eine der Hauptaufgaben sein, die zukünftige Browser ausführen werden, und wir werden auch deren Wachstum in bestimmten Browsermärkten sehen (Blindtext, Netzwerkdrucker, Hörelektronik, usw.).

XML-Datei und XSL-Datei

Bitte sehen Sie sich das im vorangegangenen Kapitel 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 die beiliegenden XSL-Stilblätter:

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

Wichtige Informationen:Das bedeutet, dass die XML-Datei in verschiedene XSL-Stilblätter umgewandelt werden kann.

Konvertieren Sie XML in XHTML im Browser

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

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

Tipp:Falls Sie nicht wissen, wie Sie JavaScript schreiben, lernen Sie unserJavaScript-Tutorial》。

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 Parser und lädt diese XSL-Datei in den Speicher. Die letzte Zeile des Codes transformiert das XML-Dokument mit dem XSL-Dokument und zeigt das Ergebnis im Browser als XHTML an. Aufgabe erledigt!

Sehen Sie sich an, wie es in IE funktioniert.