Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: Interprétation PHP dans XSL

[xml-tech] Re: Interprétation PHP dans XSL

Auteur: Mathieu Fernandez <mathieu.fernandez@mpl.ird.fr>
Date: 12/09/2006 - 08:49

Stéphane Bonhomme a écrit :
> Attention, il semble que vous fassiez une confusion :
>
> D'après ce que vous indiquez, vous effectuez la transformation xslt sur
> le navigateur. Il faut bien comprendre que dans les cas sités
> précédemment (dans les liens sur les archives de la liste), les
> transformations interviennent bien en amont et produisent les fichiers à
> déposer sur le serveur.
>
> Lorsque vous produisez du code php par xslt, celui-ci doit ensuite être
> interprété par un processeur php, lequel n'existe que coté serveur. La
> feuille de style dont nous parlons doit donc être utilisée comme
> préparation des données à publier sur le serveur web et *en aucun cas*
> executée par le navigateur !
>
> données XML ------transformations xsl ---> fichiers PHP -----serveur
> http (web)------>html ->navigateur
>
> un fois ce point eclairci, vous comprendrez mieux pourquoi votre php ne
> peut pas fonctionner
>
>> Je comprends absolument plus rien là :
>> 1° solution : Si je mets method="xml", j'ai tout qui se concatène dans
>> ma page (le navigateur ne prend plus en compte les balises) et aucun
>> include ne fonctionne (par exemple dans un de mes include j'ai ma CSS et
>> elle n'est pas prise en compte), par contre, dans mon fichier source:
> C'est pourtant la bonne solution, perserverez dans cette voie
>
>
>> 2° solution : Si je mets method="html", c'est exactement comme au début,
>> ma mise en page est "bonne" (les balises HTML sont interprétées) par
>> contre aucun include n'apparait, ni sur la page ni dans les sources.
>>
> Normal, lorsque l'output method est html, le processeur xslt du
> nivagateur ignore purement et simplement les xsl:processing-instruction
>
>
>> Je deviens fou là.
> l ne faut pas, faites un schema des fulx de données, et des types de
> données circulant cela vous aidera à y voir clair (où est le xml, le
> xslt, le php, ou sont interprétés le xslt, le php, le css).
>
>
>> PS : J'ai fait comme vous me dîtes mais le problème c'est que mes
>> fichiers sont au format HTML, je ne peux donc pas les tranformer au
>> format XML.
> Pour cela il y a tidy, ou encore xmllint, ou meme l'implementation dom
> de php5 qui sont capables de parser du html pour soit produire du xml
> bien formé, soit un arbre dom.
Pour les include je m'en suis sorti autrement, merci tout de même.
Et merci pour votre patience aussi :o)

Mais je dois toujours trouver le moyen d'utiliser le PHP pour ma
fonction qui me compte les fichiers d'un dossier (et puis pour la
culture en général, c'est bon à savoir:o))
Je comprends mieux maintenant le problème : le PHP n'a pas le temps
d'être interprété par le serveur, il faut donc que ma feuille de style
XSL crée le fichier PHP pour que que celui-ci soit ensuite interprété
par le serveur pour qu'il me génère du XHTML, c'est bien ça.

Or en utilisant method="xml", il me génère diectement du XHTML, ça ne
pose pas de problème ?

Deuxième problème, quand vous me dîtes : "La feuille de style dont nous
parlons doit donc être utilisée comme préparation des données à publier
sur le serveur web et *en aucun cas* executée par le navigateur !"
comment ça se réalise ça?
Dans ma tête je vois la chose ainsi : il faut que je crée un fichier PHP
grâce à cette feuille XSL et que j'éxecute ensuite ce fichier PHP sur le
serveur pour qu'il soit interprété mais comment faire?.

Par exemple je crée une fonction qui me compte le nombre de fichier dans
un dossier et en prend un au hasard, je fais donc :
<xsl:processing-instruction name="php">
    <xsl:text>
        function count_files($dir)
        { ...}
        ...
        echo $retour;
    </xsl:text>
</xsl:processing-instruction>

j'ai donc le code qui apparait dans mon source mais qui n'est pas
éxécuté, il faudrait donc que je puisse rappeler cette page afin
d'éxécuter le PHP qu'elle contient mais j'ai beau réfléchir je ne vois
pas du tout comment faire...

PS : je débute dans le domaine donc ne m'en voulait pas si je pose des
questions un peu bateau pour vous, elles sont d'un grand aide pour moi.

--
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)
Received on Tue Sep 12 10:50:13 2006

Archive générée par hypermail 2.1.8 le 27/09/2006 - 05:52 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement