From: Carbone Cedric (C.Carbone@NEOPOST.FR)
Date: 10/05/2004 - 10:10
PHP5 et XSLT
C'est tout =E0 fait possible (=E0 n'utiliser que lorsque vous ne pouvez =
pas
faire un certain traitement car vous perdez le fait que votre feuille =
XSLT
soit portable...)=20
Voila un exemple XSLT avec le calcul de la date courante confi=E9 =E0 =
PHP
<?php=20
function date () {=20
return strftime("%A");=20
}=20
$domXsl =3D new DomDocument();=20
$domXsl->load("monStyle.xsl");=20
$domData =3D new DomDocument();=20
$domData->load("mesDonnees.xml");=20
$xslt =3D new XsltProcessor();=20
$xslt->registerPhpFunctions();=20
$xsl =3D $proc->importStylesheet($domXsl);=20
$proc->setParameter(null,"name","value");=20
$newdom =3D $proc->transformToDoc($domData);=20
print $domResultat->saveXML();
?>=20
N'oubliez pas la m=E9thode registerPhpFunctions() sur le processeur =
XSLT qui
permet d'indiquer =E0 PHP qu'il a le droit d'executer les fonctions PHP =
de la
stylesheet (pour des raisons de s=E9curit=E9... pouvez vous faire =
confiance =E0
des XSLT tierce qui pourraient appeler des fonctions PHP???) Pour =
l'instant
aucun modele plus fin n'est d=E9velopp=E9 (et ne sera d=E9velopp=E9 =
pour PHP5 =E9tant
donn=E9 qu'il est en RC) mais on pourra s=FBrement greff=E9 un petit =
module qui
permettra une gestion plus fine de la s=E9curit=E9 (cad limiter =
l'utiliser des
fonctions PHP dans la feuille XSLT qu'=E0 un certain nombre de =
fonctions)
et la feuille XSLT qui fait appel =E0 la fonction PHP
<?xml version=3D"1.0" encoding=3D"iso-8859-1"?>=20
<xsl:stylesheet version=3D"1.0"
xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform"
xmlns:php=3D"http://php.net/xsl">=20
<xsl:template match=3D"/">=20
<xsl:value-of select=3D"php:function(‘date’)" />=20
</xsl:template>=20
</xsl:stylesheet>=20
Esperant que cela vous aide,
Cordialement,
C=E9dric Carbone
cedric.carbone<at>brainsoft.fr
-----Message d'origine-----
De : Benoit Fleury [mailto:Benoit.Fleury@etu.enseeiht.fr]
Envoy=E9 : dimanche 9 mai 2004 22:56
=C0 : xml-tech@xmlfr.org
Objet : [xml-tech] Re: code php dans xml/xsl
Jean-Marie Hoornaert wrote:
>Bonsoir,
>
>Est-il possible, et si oui comment, de placer du code php dans =
une=3D20
>feuille de style xsl qui transforme un document xml en feuille =
xhtml?=3D20
>Ceci de fa=3DE7on =3DE0 ce que ce que code s'ex=3DE9cute sur le =
serveur.
>
>
>--=3D20
>Cordialement.
>
>Jean-Marie -HOO;-)
>____________________
>Jean-Marie Hoornaert
>Courriel : jmh@h2o.be
>PPsP* : http://www.h2o.be
> Newsletter : abonnement@h2o.be?subject=3D3Dabonnement_h2o
>* Page Personnelle sans Pr=3DE9tention
>* pour AppleScripter FileMaker=3D20=3D
>
>--
>Devenez redacteur <XML>fr et contribuez au developpement du
>xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
>Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
>Cette liste est a votre disposition pour discuter en francais de=20
>tout sujet technique lie a XML.
>
>Pour resilier votre abonnement, envoyez un message contenant=20
>la commande "unsubscribe" a xml-tech-request@xmlfr.org
>(mailto:xml-tech-request@xmlfr.org?Subject=3Dunsubscribe)
>
>
>
> =20
>
Il me semble que php5 offre cette possibilit=E9 justement.
-- Benoit Fleury
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de=20
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant=20
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=3Dunsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|