Difficile de faire un véritable Tutorial sur XSL.
Je vais donc commencer par une simple démonstration commentée.
L'objectif est de réaliser une aide/mini FAQ en utilisant le XML/XSL
Passons rapidement sur la partie PHP de l'application
Le but de ce code est de renvoyer une page au format XML contenant les informations que l'on souhaite afficher.Je vais donc commencer par une simple démonstration commentée.
L'objectif est de réaliser une aide/mini FAQ en utilisant le XML/XSL
Passons rapidement sur la partie PHP de l'application
Code PHP :
<?php
// J'utilise de l'UTF-8 par habitude et pour des raisons de compatibilitée caractéres spéciaux
$xml='<?xml version="1.0" encoding="UTF-8" ?>';
// Cette ligne va indiquer ou trouver le XSL pour la transformation
$xml.='<?xml-stylesheet type="text/xsl" href="xsl/faq.xsl"?>';
// Ajoute au coutenu de la page le fichier XML qui contient l'aide
$xml.=file_get_contents('xml/faq.xml');
//Envoie d'un Header XML
header('content-type: text/xml');
//Affichage du contenu de la chaine générée
echo $xml;
?>
Le XML doit être structuré pour être exploité correctement par le XSL.
Mon document XML a pour racine le noeud <topics> et contient plusieurs éléments fils <topic> défini comme suit.
Code PHP :
<?php
<topics>
...
<topic parent="2" id="3">
<titre>Races</titre>
</topic>
<topic parent="3" id="4">
<titre>Elfes</titre>
<data>blablabla</data>
</topic>
<topic parent="3" id="5">
<titre>Nains</titre>
<data>blablabla</data>
</topic>
...
</topics>