XSLT - Serveur
- Page précédente XSLT sur le client
- Page suivante Éditer XML avec XSLT
Puisque tous les navigateurs ne supportent pas XSLT, une autre solution consiste à réaliser la conversion XML en XHTML sur le serveur.
Solution compatible avec tous les navigateurs
Dans les chapitres précédents, nous avons expliqué comment utiliser XSLT dans les navigateurs pour réaliser 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
Voyez 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 aux fichiers XSL.
Matière à savoir :Cette phrase indique que le fichier XML peut être converti en utilisant plusieurs styles de feuilles de style XSL différentes.
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")) 'Load XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) 'Transform file Response.Write(xml.transformNode(xsl)) %>
Astuce :Si vous ne savez pas comment écrire en ASP, vous pouvez apprendre notreTutoriel ASP。
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, puis 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 Éditer XML avec XSLT