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 24/04/2007, 13h06   #1
Invité de passage
 
Inscription : février 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 7
Points : 2
Points : 2
Par défaut [XSLT] Utiliser une fonction PHP à partir de la feuille de style XSL

Bonjour,

Est-il possible d'utiliser des fonctions php directement à partir d'une feuille de style xsl ?

Merci.
sayou84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h44   #2
Membre Expert
 
Avatar de alain.couthures
 
Inscription : avril 2007
Messages : 889
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2007
Messages : 889
Points : 1 061
Points : 1 061
Oui, en PHP5 il faut d'abord appeler la méthode registerPHPFunctions() puis rajouter à la racine de la feuille de style
Code :
xmlns:php="http://php.net/xsl"
et les appels sont à préfixer par php:
__________________
Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/
alain.couthures est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h18   #3
Invité de passage
 
Inscription : février 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 7
Points : 2
Points : 2
Merci pour la réponse.

J'essaie d'utiliser cette méthode mais sans succès.

Quelle est l'utilisation exacte ?
Est-ce que ça marche uniquement avec PHP5 ?

Merci d'avance .
sayou84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h21   #4
Membre Expert
 
Avatar de alain.couthures
 
Inscription : avril 2007
Messages : 889
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : avril 2007
Messages : 889
Points : 1 061
Points : 1 061
Le traitement XML est intégré à PHP5 contrairement à PHP4 qui s'appuie sur des extensions... Ce que je disais précédemment s'applique à PHP5.
__________________
Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/
alain.couthures est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h24   #5
Invité de passage
 
Inscription : février 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 7
Points : 2
Points : 2
ok.

Quelle est la solution avec PHP4 ?
sayou84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h26   #6
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 sayou84
Quelle est la solution avec PHP4 ?
A ma connaissance il n'en existe pas. Sablotron n'implémente pas de mécanisme d'extension (hormis EXSLT et l'écriture d'extension Javascript). C'est une des innombrables raisons qui devraient pousser à adopter PHP5.
__________________
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 25/04/2007, 13h35   #7
Invité de passage
 
Inscription : février 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 7
Points : 2
Points : 2
Bonjour,

Merci pour la réponse.

J'ai finalement contourné le problème :
- j'utilise des balises <xsl:processing-instruction name="php">, à l'intérieur desquelles j'insère mon code php.
- lorsque j'applique ma feuille de style sur mon fichier xml en entrée, cela me génère un fichier xml qui contient des balises php non interprétées.
- j'applique alors la commande "php" sur mon fichier xml de sortie : ce qui me permet donc d'interpréter mes balises php.

En résumé, voici ma ligne de commande : "xsltproc fichier.xsl fichier.xml | php"

Voilà...
sayou84 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 15h58.


 
 
 
 
Partenaires

Hébergement Web