Help : formulaire a partir d'un fichier xml avec xsl

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Help : formulaire a partir d'un fichier xml avec xsl

Re: Help : formulaire a partir d'un fichier xml avec xsl

par Mazarini » 14 juin 2011, 12:00

Bonjour,

Il est possible de visualiser directement du XML avec du XSL directement dans le navigateur.

Je te conseille de mettre au point ton XSL de cette manière avant de faire le traitement par PHP. Pour ce faire, il faut indiquer le fichier XSL dans le fichier XML. Tu pourras ainsi séparer la résolution des problèmes XSL et PHP.

Help : formulaire a partir d'un fichier xml avec xsl

par sknano » 14 juin 2011, 10:09

bonjour a tous
voila mon probleme
j'ai besoin de creer une liste deroulante a partir d'un fichier xml
pour ce faire ( je pense que c'est la seule solution) j'utilise xsl
mais sa marche pas la page reste vide
voici mes codes :

Code : Tout sélectionner

xml : <produits> <ecrans> <ecran value="1" nom="-----------Ecran blouson-----------"></ecran> <ecran value="2" nom="-----------Ecran casque------------"></ecran> <ecran value="3" nom="-----------Ecran gant--------------"></ecran> <ecran value="4" nom="-----------Ecran cross-------------"></ecran> <ecran value="5" nom="-----------Ecran caisse------------"></ecran> <ecran value="6" nom="--Ecran caisse pour moto occasion--"></ecran> </ecrans> </produits>
php :

Code : Tout sélectionner

$xh = xslt_create(); $fil=fopen("file/admin/produit.xml","r"); $xmls=fread($fil,16384); fclose($fil); $fil=fopen("template/pages/ecran.xsl","r"); $xsls=fread($fil,16384); fclose($fil); $arguments = array( '/_xml' => $xmls, '/_xsl' => $xsls ); $resulte = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments); xslt_free($xh);
et plus loin pour afficher le select (toujour dans mon php):

Code : Tout sélectionner

<?php print "$resulte" ; ?>
et mon xsl :

Code : Tout sélectionner

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:value-of select="ecran" /> <center><SELECT> <xsl:for-each select="produits/ecrans/ecran"> <OPTION> <xsl:attribute name="VALUE"><xsl:value-of select="@value"/></xsl:attribute> <xsl:value-of select="@nom"/> </OPTION> </xsl:for-each> </SELECT></center> </xsl:template> </xsl:stylesheet>
si quelqu'un peu m'aider merci