IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSL][PHP] probleme de passage de parametres...


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 196
    Par défaut [XSL][PHP] probleme de passage de parametres...
    Bonjour,
    j'essaye de passer un parametre de mon script php a un document xslt...
    si dans le xslt, je tape <xsl:value-of select="$Critere"/> la valueur affichée est correcte... si je veux me servir de cette valeur dans un for-each (<xsl:for-each select="$critere">...</xsl:for-each>, l'instruction s'execute mal (le contenu de la boucle n'est jamais parcouru...) pourtant la valeur est correcte car si je remplace le parametre par la valeur affichée par le value-of, là le resultat est pil-poil.

    Si quelqu'un pouvait me dire ce qu'il se passe, je comprend pasz bien là ... MERCI BEAUCOUP

    PS: extrait de mon code
    PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // CHargement du source XML
    $xml = new DOMDocument;
    $xml->load('try.xml');
     
    $xsl = new DOMDocument;
    $xsl->load('full.xsl');
     
    // Configuration du transformateur
    #processeur XSLT:
        $xslt = new XsltProcessor();
        $xslt->importStylesheet($xsl); 
    	$xslt -> setParameter(null, 'Critere', "/livres/livre[auteur='XXX']" );
     
        $obj = $xslt->transformToDoc($xml);
        $output = $obj->saveXML();
     
    print($output);
    XSL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
     
    <!-- Récuperation du paramètre venant de PHP -->
    <xsl:param name="Critere"/>
     
    <xsl:output method="html" indent="yes" doctype-public="-//W3C//DTD HTML 3.2 Final//EN"/>
     
    <!-- traitement-->
    <xsl:template match="/">
    <HTML>
    	<HEAD>
    		<TITLE>Affichage Auteurs</TITLE>
    	</HEAD>
    	<BODY>
    		<TABLE width="100%" border="3">
    		<CAPTION><xsl:value-of select="$Critere"/></CAPTION>
    			<xsl:for-each select="$Critere"> <!--utilisation du parametre pour faire un tri-->
    				<TR>
    					<TD><xsl:value-of select="sciecle"/></TD>
    					        <TD><xsl:value-of select="prenom"/></TD>
    				</TR>
    			</xsl:for-each>
    		</TABLE>
    	</BODY>
    </HTML>
    </xsl:template>
    </xsl:stylesheet>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 196
    Par défaut
    j'ai comprsi pourquoi cela ne marchait pas... le for-each attend un node-set et je lui envoie une chaine de caractère. Le problème est que je ne peux pas passer de node-set à la feuile xslt. Donc comment faire???

    Si quelqu'un pouvait me suggerer quelque chose, je nage complet...
    MERCI DE VOTRE AIDE

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Par défaut
    pourquoi ne pas utiliser le nom de l'auteur comme paramètre :
    <xsl:param name="auteur" />

    puis

    <xsl:value-of select="/livres/livre[auteur=$auteur]"/>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 196
    Par défaut
    merci de ton aide.
    En fait, l'expression est plus complexe... il peut y avoir des and, des or, des ()... la page doit pouvoir accepter toutes expressions logiques portant sur les attribut du <livre>...
    Donc je ne peux ps le faire....

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/06/2006, 11h48
  2. [Web Service][SOAP] Probleme de passage de parametres
    Par _Froggy_ dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/03/2006, 20h54
  3. Réponses: 7
    Dernier message: 20/03/2006, 12h19
  4. [pgplsql] probleme de passage de parametre
    Par Spoutnik dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/05/2004, 01h11
  5. Probleme de passage de parametre a un TQuery
    Par gve21 dans le forum C++Builder
    Réponses: 7
    Dernier message: 15/01/2004, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo