XSLT - Auf dem Server
- Vorherige Seite XSLT im Client
- Nächste Seite XSLT Bearbeiten von XML
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>
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>
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!
- Vorherige Seite XSLT im Client
- Nächste Seite XSLT Bearbeiten von XML