Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > XSL & XSLT
XSL & XSLT Forum d'entraide pour les extensions XSL et XSLT permettant de manipuler vos documents XML à l'aide de feuilles de style et de transformations avec PHP. Avant de poster -> tutoriels XSL et XSLT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/03/2007, 14h31   #1
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 107
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 107
Points : 26
Points : 26
Par défaut [XSLT] Problème avec Sablotron

Bonjour à tous!
Voila je developpe un code pour afficher du xml dans une page php.
J'ai suivi la démarche situé a cette adresse afin d'utiliser php_xslt.dll:

http://www.developpez.net/forums/sho...p=46059#771986

J'ai bien ajouté toutes les dll dans System32 mais lorsque je lance ma page j'ai le message suivant:
Citation:
Fatal error: Call to undefined function xslt_create() in C:\Program Files\EasyPHP1-8\www\exemple.php
Voici mon code php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<?php
            $xh = xslt_create();
 
            $file=fopen("monfichier.xml","r");
            $xml=fread($file,1024);
            fclose($file);
 
            $file=fopen("monfichier.xsl","r");
            $xsl=fread($file,16384);
            fclose($file);
 
            $arguments = array('/_xml' => $xml,'/_xsl' => $xsl);
 
            $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
 
            xslt_free($xh);
 
            print "$result";
?>
Donc il ne reconnait pas l'extension php_xslt.dll (pourtant bien décommantée dans php.ini !)
Et lorsque je fait un phpinfo() je n'ai aucune trace de sablotron (j'ai juste xml, xmlreader et xmlwriter qui se sont ajoutés enable!) est-ce normal ?

Etant débutant en php j'ignore si c'est une bonne solution! Si il y a plus simple pour affiché du xml dans une page php je suis preneur!!!!!!

Merci d'avance! David
goddet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 10h07   #2
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 107
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 107
Points : 26
Points : 26
Une petite remarque : j'utilise php5! J'ai vu sur la toile que sablotron n'existait plus avec php5 (remplacé par le package php5-xsl : "This package provides a module for XSL using the libxslt XSL parse")
Je suis un peu perdu! Est-ce que quelqu'un utilise sablotron avec php5 par hasard?
goddet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 12h01   #3
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Bonjour,

Citation:
Envoyé par goddet
Est-ce que quelqu'un utilise sablotron avec php5 par hasard?
Tu ne trouveras pas grand monde dans ce cas... Avec PHP 5, Sablotron a été remplacé par libxslt, une librairie bien plus stable et performante. Evidemment, l'API a également été changée, il faut maintenant que tu utilises les fonctions de l'extension XSL.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 14h25   #4
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 107
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 107
Points : 26
Points : 26
Merci pour la réponse!
J'ai récupérer libxml2.dll que j'ai copier dans C:\WINDOWS\system32 mais il ne reconnait toujours pas la class!
J'ai ce code (tiré de la doc php):
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
$XmlData = "monfichier.xml";
$XslData = "monfichier.xsl";
 
$doc = new DOMDocument();
$xsl = new XSLTProcessor();
 
$doc->load($XslData);
$xsl->importStyleSheet($doc);
 
$doc->load($XmlData);
echo $xsl->transformToXML($doc);
?>
Et la il me retourne cette erreur:
Fatal error: Class 'XSLTProcessor' not found
Je dois vraiment mal me débrouillé! A part dans le repertoire System32 est-ce que libxml2.dll doit se trouver autre part?
goddet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 16h46   #5
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Il te faut aussi libxslt.dll, c'est dans cette DLL qu'est implémenté le processeur XSLT.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 16h11   #6
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 107
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 107
Points : 26
Points : 26
Merci pour ces réponses GrandFather! Maintenant ça marche!
En fait j'utilisais easyphp mais on m'a conseillé d'utiliser wamp. Je l'ai donc testé (version 1.7) et là ça a marché!!
Pourtant à part la version d'apache (je suis passé de la 1.8 a la 2) il n'y a rien d'autre qui a changé...
De plus je n'ai pas eu besoins de récupérer libxslt.dll (je trouve ça un peu bizarre!!!!!!).
Merci encore et surment à bientot vu que je vais devoir exporter les pages que j'ai crées sur un serveur fedora (je sens que je vais encore devoir me battre pour faire marcher le xslt !!!!!).
goddet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h59.


 
 
 
 
Partenaires

Hébergement Web