XSLT sur le serveur
- Page précédente XSLT sur le client
- Page suivante Éditeur XSLT pour XML
Comme tous les navigateurs ne supportent pas XSLT, une autre solution consiste à effectuer la conversion XML en XHTML sur le serveur.
Solution multi-navigateurs
Dans les chapitres précédents, nous avons expliqué comment utiliser XSLT dans un navigateur pour effectuer la conversion XML en XHTML. Nous avons créé un segment de JavaScript utilisant un analyseur XML pour la conversion. La solution JavaScript ne fonctionne pas sur les navigateurs sans analyseur XML. Pour que les données XML soient applicables à tous les types de navigateurs, nous devons convertir le document XML sur le serveur et l'envoyer au navigateur sous forme de XHMTL.
C'est l'un des avantages de XSLT. Un des objectifs de conception de XSLT est de rendre possible la conversion des données d'un format à un autre sur le serveur et de renvoyer des données lisibles à tous les types de navigateurs.
Fichiers XML et fichiers XSL
Veuillez consulter ce document XML déjà présenté dans les chapitres précédents :
<?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>
ainsi que les feuilles de style XSL associées :
<?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>Ma collection de CD</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Titre</th> <th align="left">Artiste</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>
Veuillez noter que ce fichier XML ne contient pas de référence au fichier XSL.
Points importants :Cette phrase indique que le fichier XML peut être converti en utilisant plusieurs styles de table XSL différents.
Convertir XML en XHTML sur le serveur
Voici le code source pour convertir un fichier XML en XHTML sur le serveur :
<% 'Charger XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) 'Charger XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) 'Transformer le fichier Response.Write(xml.transformNode(xsl)) %>
Astuce :Si vous ne savez pas comment écrire en ASP, vous pouvez apprendre notreASP Tutorial》
Le premier morceau de code crée une instance du parseur XML de Microsoft, puis charge le fichier XML en mémoire. Le deuxième morceau de code crée une autre instance du parseur, puis charge ce fichier XSL en mémoire. La dernière ligne de code utilise le document XSL pour transformer le document XML, et envoie le résultat sous forme de XHTML à votre navigateur. La tâche est terminée !
- Page précédente XSLT sur le client
- Page suivante Éditeur XSLT pour XML