Comment démarrer en XSL via PHP5
Bonjour, je connais le XML depuis pas mal de temps, et je l'utilise directement via PHP, par exemple pour un site multilingue, je stocke les traductions diverses en XML et les récupère dans mon interface pour l'afficher via SimpleXML.
Pour le XSLT, je m'en passais volontiers jusqu'au jour ou un collègue facétieux m'a montré l'avantage d'utiliser le XSL pour traduite directement le XML vers le HTML sans passer par des tableaux PHP ou je finissais par me mélanger les pinceaux...
Donc, je fonce sur les Tutoriaux de Developpez , hélas, les tutos de débutant parlent de xml_create qui est une fonction obsolete en PHP5. et DOM est sûrement très bien, mais pour un (vieux) débutant, comment faire :mouarf: ?
Olivier
Bon, je farfouille, intégration au PHP5 pas facile ...
Bon, ça se précise, mais encore trop de doutes ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php
define ('br','<br />'); # Là, ç'est une manie d'OL
$Liste = "liste.xml"; # Fichier XML a utiliser
$Sheet = "liste.xsl"; # Feuille XSLT de mise en forme
$Doc = new DOMDocument();
$Etat = $Doc->load($Liste);
if (!$Etat) {
echo "DOMDocument planté avec '".$Liste."' ".br;
} else {
$Xsl = new XSLTProcessor();
$Etat = $Xsl->importStyleSheet($Sheet);
if (!$Etat) {
echo "XSLTProcessor planté avec '".$Sheet."' ".br; # Las, c'est là qu'on passe !
} else {
echo "Etat:".$Etat.br;
$Html = $Xsl->transformToXML($Doc);
echo $Html;
}
}
?> |
Sur linux, il faut installer les modules un par un (php5-xsl l'est)
un phpinfo affiche également xmlreader et xmlwriter mais est-ce en rapport ...
hélas, ça plante encore, sur XSLTProcessor. Est-ce un problème de compatibilité PHP5 ?
Ah, l'entrée de importStyleSheet est un objet DOM et non un fichier ...