XSLT - Client
- Vorherige Seite XSLT apply
- Nächste Seite XSLT auf dem Server
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>
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>
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!
- Vorherige Seite XSLT apply
- Nächste Seite XSLT auf dem Server