Re: Interprétation PHP dans XSL

Mathieu Fernandez <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Stéphane Bonhomme a écrit :
> Mathieu Fernandez wrote:
>
>> Je me retrouve donc avec des fichiers XML qui sont transformés par des 
>> feuilles de style XSL qui sont censé m'insérée le code PHP dans la page 
>> de sortie. Or en utilisant les astuces suivantes :
>> http://xmlfr.org/listes/xml-tech/2004/10/0013.html
>> http://xmlfr.org/listes/xml-tech/2002/03/0342.html
>> ça ne fonctionne pas.
>>
>> Voici mon exemple :
>> *fichier XML*
>> <?xml version="1.0" encoding="iso-8859-1"?>
>> <?xml-stylesheet href="plan_site.xsl" type="text/xsl" ?>
>>
>> <page nom="Accueil">
>>    <titre>Bienvenue</titre>
>>    <intro>Ma petite intro</intro>
>>    <image type="aleatoire">images\random</image>
>>    <paragraphe>J'ai un rève-qu'un jour, cette nation se lèvera et vivra 
>> la vrai signification de son croyance: "Nous tenons ces vérités comme 
>> allant de soi, que les hommes naissent égaux."</paragraphe>
>> </page>
>>
>> *fichier XSL :*
>> <?xml version="1.0" encoding="iso-8859-1" ?>
>> <xsl:stylesheet version="1.0" 
>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>> <xsl:output method="html" indent="yes" encoding="iso-8859-1" /> 
> Là il faut mettre method="xml" si vous voulez faire du xhtml  (et 
> acessoirement utiliser les processing-instruction que votre processeur 
> semble ne pas savoir sortir en xml)
>   
>> <!--méthode de sortie XHTML-->
>> <xsl:strip-space elements="*"/> <!--nettoyage du document XML pour ne 
>> pas conserver des retours-chariots-->
>>
>> <xsl:template match="page">
>> <html>
>>    <!--inclusion de l'entête qui ne change jamais-->
>>    <!--<DEFANGED_script language='php'> include "fr/entete.html";</DEFANGED_script> ça 
>> c'est ce que je fais au début mais ça ne fais rien, ça m'inscrit simple 
>> le code PHP dans la page HTML sans rien interpréter-->
>>
>>    <DEFANGED_xsl:processing-instruction name="php">
>>        <DEFANGED_xsl:text>include ("</DEFANGED_xsl:text>
>>        <DEFANGED_xsl:value-of select="normalize-space(haut_page.html)"/>
>>     
> ici cela ne risque pas de donner grand chose, l'élément page (élément 
> courant) n'a pas de fils s'appellant <haut_page.html>; ce value-of 
> renverra donc une chaine vide, si vous voulez inclure un fichier 
> externe, il faut qu'il soit au format xml et utilisez :
>
> <DEFANGED_xsl:value-of select="normalize-space(document('haut_page.xml'))"/>
>   
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:
- j'ai certains include qui apparaisse (voici un exemple :<html><?php 
include ("Informatique Scientifique");?><body> sachant que "Informatique 
Scientifique" est le contenu, sans les balises, de mon fichier 
haut_page.html)
- et certain autres qui me provoque une erreur (<div 
id="centrer"><br/><?php include ("Erreur d'analyse XML : données 
incompréhensibles après l'élément de document Emplacement : 
http://127.0.0.1/fr/haut_page.html Numéro de ligne 4, Colonne 1 :<div 
id="langue">).

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.

Je deviens fou là.

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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.