XSLT - Op de server
- Vorige Pagina XSLT op de Client
- Volgende Pagina XSLT Editeer XML
Aangezien niet alle browsers XSLT ondersteunen, is een andere oplossing om de conversie van XML naar XHTML op de server uit te voeren.
Cross-browser oplossing
In een eerdere sectie hebben we uitgelegd hoe je XSLT kunt gebruiken om XML naar XHTML te converteren in een browser. We hebben een stuk JavaScript gecreëerd dat de conversie uitvoert met behulp van een XML-parser. De JavaScript-oplossing werkt niet in browsers zonder XML-parser. Om XML-data geschikt te maken voor alle soorten browsers, moeten we de XML-documenten converteren op de server en ze vervolgens als XHMTL naar de browser sturen.
Dit is een van de voordelen van XSLT. Een van de ontwerpdoelen van XSLT is om het mogelijk te maken om data van de ene format naar de andere te converteren op de server en leesbare data terug te sturen naar alle soorten browsers.
XML-bestanden en XSL-bestanden
Zie deze XML-document die al in een eerdere sectie is getoond:
<?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>
enkele bijbehorende XSL-stijltafels:
<?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>Meer CD Collectie</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Titel</th> <th align="left">Artiest</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>
Let op, deze XML-bestand bevat geen verwijzingen naar XSL-bestanden.
Belangrijke opmerking:Deze zin geeft aan dat een XML-bestand kan worden omgezet met meerdere verschillende XSL-stijlsheets.
De server omzetten van XML naar XHTML
Dit is de broncode om XML-bestanden op de server om te zetten naar XHTML:
<% 'Laad XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) 'Laad XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) 'Transform bestand Response.Write(xml.transformNode(xsl)) %>
Tip:Als u niet weet hoe u ASP kunt schrijven, kunt u onzeASP Handleiding》
De eerste code heeft een instance van Microsoft's XML Parser gecreëerd en heeft vervolgens het XML-bestand in het geheugen geladen. De tweede code heeft een andere instance van de parser gecreëerd en het XSL-bestand in het geheugen geladen. De laatste regel van de code gebruikt het XSL-document om het XML-document te transformeren en stuurt het resultaat als XHTML naar uw browser. Taak voltooid!
- Vorige Pagina XSLT op de Client
- Volgende Pagina XSLT Editeer XML