inserer une transformation xslt dans un bloc <div></div>

inserer une transformation xslt dans un bloc <div></div> - XML/XSL - Programmation

Marsh Posté le 09-09-2004 à 19:55:14    

Bonjour, je construit une description d'interface en XML (un peu a la manière de xul) qui est interprétée par une feuille XSL générant l'affichage en XHTML. Tout est fait dans un script php (c'est php
qui lance la transformation XSLT et non le navigateur) Dans mes pages XML, j'ai une balise <tabpanel href="xxxx.php"> qui doit permettre d'afficher dans un bloc <div>...</div> la transformation d'une autre page XML. Mon probleme est que je ne sais pas quoi mettre dans mon <xsl:template match="tabpanel">...</xsl:template>. Une personne ayant comprise ce que j'ai tenté d'expliquer pourrait
elle m'aider ? :)  
 
PS: je doit absolument passer par des pages php car certains paramètres sont insérés dynamiquement dans la page XML. Pour l'instant, ca marche plutot pas mal mais je suis bloqué pour ce fameux tabpanel...

Reply

Marsh Posté le 09-09-2004 à 19:55:14   

Reply

Marsh Posté le 14-09-2004 à 17:27:17    

Je pense avoir compris ton problème.
 
Le point d'entrée des traitements, c'est l'appel d'une page php par un navigateur.
 
En fonction des paramètres GET/POST/SESSION/... tu construis un XML, et ensuite tu fait la transformation XSL.
 
(C'est très bien ça !)
 
Ton problème, c'est que tu voudrais en quelque sorte que ce soit récursif. Et c'est là que ça coince. Le traitement XSL ne peut pas se faire passer pour un client et demander le résultat de xxx.php !
 
En revanche, il est possible de passer des paramètres de PHP vers la transformation.
 
Une solution serait de parser ton XML en PHP avant la transformation à la recherche des balises <tabpanel>.
Tu fait alors appel à ta fonction de transformation qui te retourne le contenu.
Tu passe ce contenu en paramètre lors de la transformation, et le tour est joué.
La récursivité est portée du coté PHP et le problème est règlé.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-09-2004 à 00:27:31    

merci pour ta reponse, je vais essayer ! Si d'autres personnes ont des idées, qu'ils envoient leur reponse, je suis preneur de toute solution, et puis ca peut servir a tout le monde. :)
 
 
 
MAJ : Ta solution me paraissait intéressante, malheureusement elle ne fonctionne pas. Ou du moins, je n'arrive pas transmettre le résultat de ma transformation à ma feuille XSL. (j'ai essayé de transmettre doc->saveXML sous forme de variable a ma feuille mais il doit y avoir un prioblème d'encodage, car ca plante sur un probleme de double quote.


Message édité par methos1435 le 18-09-2004 à 20:08:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed