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 :

[XSLT]integrer fonction PHP


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 379
    Points : 123
    Points
    123
    Par défaut [XSLT]integrer fonction PHP
    Hello world

    J'ai un petit problème en integrant une fonction php dans un code XSLT, par exemple j'ai cette ligne de code XSLT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p> <xsl:value-of select="php:function('decodage',string(description/english)')"/> </p>
    et 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
     
    function decodage($str) {
        return utf8_decode($str);
     
    }
     
     
    $dom = new DomDocument;
     
    $dom->load("projetsEn.xsl");
     
    $proc= new XSLTProcessor;
     
    $proc->importStyleSheet($dom);
    $proc->registerPHPFunctions();
     
     
     
     
     
    $dom= new DomDocument;
     
    $dom->preserveWhiteSpace = FALSE;
     
    $dom->formatOutput = TRUE;
     
    $dom->load("/home/magnu/Admin/XML/projets.xml");
     
     
     
    echo $proc->transformToXML($dom); 
    ?>
    resultat : Warning: XSLTProcessor::importStylesheet() [function.XSLTProcessor-importStylesheet]: Invalid expression in /home/magnu/Public/proj-pubEn.php on line 15


    vous voyez un prob ?

    merci

    ...

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    réussis tu à faire ta transformation xslt à la main?
    as tu essayer une autre feuille de style?

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 379
    Points : 123
    Points
    123
    Par défaut
    mon code XSL est fonctionnel ,je l'ai dejà testé, mais à cause de l'encodage (j'obtiens des caractères bizarres dans ma page) j'ai voulu ajouter la fonction utf8_decode() pour regler ce problème.

    Je vous montrer mon code XSLT dans la fonction :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <body>
     
    >
    			<div id="corps">
    			<a style="float:right" href="http://132.207.28.122/magnu/Public/proj-pubFr.php"><img HSPACE="1" height="16" weight="8" src="http://132.207.28.122/magnu/Public/drapeau_quebec.gif"></img></a>   &nbsp; &nbsp;&nbsp; <a style="float:right" href="http://132.207.28.122/magnu/Public/proj-pubEn.php"><img height="16" weight="8" HSPACE="1" src="http://132.207.28.122/magnu/Public/drapeau_anglais.jpg"></img></a>
    			<xsl:apply-templates />
    			</div>
     
     
    </body>
    </html>
     
    </xsl:template>
     
    <xsl:template match="struct">
    <xsl:variable name="nomProjet" select="nom"/>
    <h3>
    <xsl:element name="a">
      <xsl:attribute name="href">
        <xsl:value-of select="pageWeb/english" />
      </xsl:attribute>
      <xsl:value-of select="nom" />
    </xsl:element>
    </h3>
    <p> <xsl:value-of select="titre/english"/> </p>
     
    <p> <xsl:value-of select="description/english"/> </p>
    <p> Project's state: <xsl:value-of select="etat"/> </p>
    <p> The list of persons involved in this project </p>
    <p>
    	<xsl:for-each select="document('/home/magnu/Admin/XML/personnes.xml')/mysql/database/table/fiche">
    		<xsl:variable name="nomPers" select="var[@name='nom']"/>
    		<xsl:variable name="pnomPers" select="var[@name='prenom']"/>
    		<xsl:for-each select="var[@name='implicationprojet']/projet">
    			<xsl:if test="contains(.,$nomProjet)">
    				<li><xsl:value-of select="concat($nomPers,' ',$pnomPers)"/></li>
    			</xsl:if>
    		</xsl:for-each>	
    	</xsl:for-each>
    </p>
     
    </xsl:template>
    et je voudrais ajouter la fonction decodage pour toutes les données lues! savez vous comment faire (je vous ai montré mon code mais ça n'a pas fonctionné :S )


    ...

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    ton expression XPath n'est pas valide : tu as une quote en trop après la parenthèse fermante après english.

Discussions similaires

  1. [XSLT] [PHP] executer une fonction PHP lors de la transformation
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 16
    Dernier message: 01/10/2009, 10h34
  2. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  3. [XSLT]Probléme avec une fonction php dans un fichier xsl!
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/10/2007, 07h32
  4. [XSLT] Utiliser une fonction PHP à partir de la feuille de style XSL
    Par sayou84 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 25/04/2007, 13h35
  5. [XSLT] XML et PHP
    Par Dam'$ dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 05/08/2004, 15h14

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