Um XML-Daten verfügbar für alle Arten von Browsern zu machen, können wir das XML-Dokument auf der SERVER-Transformation und es zurück an den Browser als XHTML senden.
Eine Cross-Browser-Lösung
Im vorigen Kapitel haben wir erklärt, wie XSLT verwendet werden können, ein Dokument von XML zu XHTML im Browser zu verwandeln. Wir verwenden einen JavaScript und einen XML-Parser für die Transformation. Allerdings wird diese Arbeit in nicht einen Browser, der nicht einen XML-Parser hat.Um XML-Daten verfügbar für alle Arten von Browsern zu machen, können wir das XML-Dokument auf dem Server umwandeln und an den Browser als XHTML zurückzuschicken.
Das ist eine andere Schönheit von XSLT. Eines der Entwurfsziele für XSLT war es möglich zu machen, Daten zu einem anderen von einem Format zu transformieren auf einem Server, lesbare Daten auf alle Arten von Browsern zurück.
Die XML-Datei und die XSLT-Datei
Schauen Sie sich die XML-Dokument, das Sie in den vorherigen Kapiteln gesehen haben:
<?xml version="1.0" encoding="UTF-8"?>
<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>
Sehen Sie sich die XML - Datei .
Und der dazu gehörige XSL-Stylesheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</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>
Notice that the XML file does not have a reference to the XSL file.
IMPORTANT: Der obige Satz gibt an, dass eine XML - Datei umgewandelt werden könnte viele verschiedenen XSL - Stylesheets verwenden.
PHP-Code: Transformation von XML zu XHTML auf dem Server
Hier ist der PHP-Quellcode benötigt, um die XML-Datei zu XHTML auf dem Server zu verwandeln:
<?php
// Load XML file
$xml = new DOMDocument;
$xml->load('cdcatalog.xml');
// Load XSL file
$xsl = new DOMDocument;
$xsl->load('cdcatalog.xsl');
//
Configure the transformer
$proc = new XSLTProcessor;
// Attach the xsl
rules
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
?>
Tip: Wenn Sie nicht wissen , wie PHP zu schreiben, benutzen Sie bitte unseren studieren PHP Tutorial .
Sehen Sie, wie es mit PHP arbeitet .
ASP-Code: Transformation von XML zu XHTML auf dem Server
Hier ist der ASP-Quellcode benötigt, um die XML-Datei zu XHTML auf dem Server zu verwandeln:
<%
'Load XML file
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
'Load XSL file
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Transform file
Response.Write(xml.transformNode(xsl))
%>
Tip: Wenn Sie nicht wissen , wie ASP zu schreiben, benutzen Sie bitte unsere studieren ASP - Tutorial .
Sehen Sie, wie es mit ASP arbeitet .