Derniers tutoriels de développement web
 

XSLT - Sur le serveur


Pour que les données XML disponibles à tous les types de navigateurs, nous pouvons transformer le document XML sur le serveur et l'envoyer au navigateur XHTML.


Une solution Croix du navigateur

Dans le chapitre précédent, nous avons expliqué comment XSLT peut être utilisé pour transformer un document XML en XHTML dans le navigateur. Nous avons utilisé un JavaScript et un analyseur XML pour la transformation. Cependant, cela ne fonctionnera pas dans un navigateur qui ne dispose pas d'un analyseur XML.

Pour que les données XML disponibles à tous les types de navigateurs, nous pouvons transformer le document XML sur le serveur et envoyer au navigateur XHTML.

C'est une autre beauté de XSLT. L'un des objectifs de conception pour XSLT était de permettre de transformer les données d'un format à l'autre sur un serveur, renvoyant des données lisibles à tous les types de navigateurs.


Le fichier XML et le fichier XSLT

Regardez le document XML que vous avez vu dans les chapitres précédents:

<?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>

Voir le fichier XML .

Et la feuille de style XSL d'accompagnement:

<?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>

Voir le fichier XSL .

Notice that the XML file does not have a reference to the XSL file.

IMPORTANT: La phrase ci - dessus indique qu'un fichier XML peut être transformé à l' aide de différentes feuilles de style XSL.


Code PHP: Transformer XML à XHTML sur le serveur

Voici le code source PHP nécessaire pour transformer le fichier XML en XHTML sur le serveur:

<?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: Si vous ne savez pas comment écrire PHP, s'il vous plaît étudier notre tutoriel PHP .

Voyez comment cela fonctionne avec PHP .


Code ASP: Transformer XML à XHTML sur le serveur

Voici le code source ASP nécessaire pour transformer le fichier XML en XHTML sur le serveur:

<%
'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: Si vous ne savez pas comment écrire ASP, s'il vous plaît étudier notre tutoriel ASP .

Voyez comment cela fonctionne avec ASP .