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

XML/XSL et SOAP Discussion :

XML/XSLT/PHP et Variables


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut XML/XSLT/PHP et Variables
    Bonjour à tous,

    J'ai à l'heure actuelle un soucis qui concerne les chemins XPATH au sein de mon XSLT.

    J'utilise un XSLProcessor dans mon PHP afin d'interpréter mon XSL et mon XML.
    Le problème étant que je fais passer une variable contenant ma requête XPATH afin de l'exploiter dans une boucle foreach.
    Cette variable ne pouvant donc pas être exploiter comme je le veut...

    Le code XSLT ressemble donc à sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:param name="Query"/>
     
    <xsl:variable name="resul"><xsl:value-of select="$Query"/></xsl:variable>
     
    <xsl:output method="html" indent="yes"/>
     
    <xsl:template match="/">
     
    <xsl:value-of select="$resul"/>
    			<xsl:for-each select="$resul">
                    <xsl:sort select="/PRIX"/>
    Et le XML à sa :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <BIEN>
       <CODE_SOCIETE>0001</CODE_SOCIETE>
       <CODE_SITE>01</CODE_SITE>
       <TYPE_OFFRE>1</TYPE_OFFRE>
       <NO_ASP>4532705</NO_ASP>
       <NO_DOSSIER>00758</NO_DOSSIER>
       <NO_MANDAT>145</NO_MANDAT>
       <PRIX>900000</PRIX>
       <HONORAIRES></HONORAIRES>
       <CP_OFFRE>17450</CP_OFFRE>
       <VILLE_OFFRE>FOURAS</VILLE_OFFRE>
       <CP_INTERNET></CP_INTERNET>
       <VILLE_INTERNET></VILLE_INTERNET>
       <CATEGORIE>4 pièces</CATEGORIE>
       <NB_PIECES>5</NB_PIECES>
       <NB_CHAMBRES>4</NB_CHAMBRES>
       <SURF_HAB>87</SURF_HAB>
       <SURF_CARREZ>0</SURF_CARREZ>
       <SURF_SEJOUR>25</SURF_SEJOUR>
       <SURF_TERRAIN>0</SURF_TERRAIN>
       <ETAGE>0</ETAGE>
       <CODE_ETAGE></CODE_ETAGE>
       <NB_ETAGES>0</NB_ETAGES>
       <ANNEE_CONS>0</ANNEE_CONS>
       <CUISINE></CUISINE>
       <NB_WC>0</NB_WC>
       <NB_SDB>0</NB_SDB>
       <NB_SE>0</NB_SE>
       <NB_PARK_INT>0</NB_PARK_INT>
       <NB_PARK_EXT>0</NB_PARK_EXT>
       <GARAGE_BOX>0</GARAGE_BOX>
       <SOUS_SOL></SOUS_SOL>
       <NB_CAVES>0</NB_CAVES>
       <TYPE_CHAUFF></TYPE_CHAUFF>
       <NATURE_CHAUFF></NATURE_CHAUFF>
       <ASCENSEUR>Oui</ASCENSEUR>
       <BALCON>0</BALCON>
       <TERRASSE>0</TERRASSE>
       <PISCINE>Oui</PISCINE>
       <ACCES_HANDI>Oui</ACCES_HANDI>
       <MURS_MITOYENS></MURS_MITOYENS>
       <FACADE_TERRAIN></FACADE_TERRAIN>
       <TEXTE_FR>testststst</TEXTE_FR>
       <URL_VISITE></URL_VISITE>
    <DPE_ETIQ1></DPE_ETIQ1>
    <DPE_ETIQ2></DPE_ETIQ2>
    <DPE_VAL1>0</DPE_VAL1>
    <DPE_VAL2>0</DPE_VAL2>
    <INFO_KM></INFO_KM>
    <CONTACT></CONTACT>
    <INFO_CONTACT></INFO_CONTACT>
    </BIEN>

    Après vérification ma variable ainsi que mon paramètre contiennent bien ce que je veut...

    Questions :
    • Puis utiliser le XSLT 2.0 avec PHP ?
    • La fonction dyn : evaluate peut-elle m'être utile ?


    Contrainte :
    • Je ne doit pas modifier le XML.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par squall52 Voir le message
    La fonction dyn : evaluate peut-elle m'être utile ?
    C'est à cela qu'elle sert. Mais elle fait partie de EXSLT, une extension de XSLT souvent implémentée, mais pas forcément.
    J'ignore si PHP implémente EXSLT ou XSLT 2.0.

    Note : je trouve suspect d'avoir besoin de faire ça. Sans doute XSLT n'est pas du tout ce dont tu as besoin. Ou alors tu n'as pas besoin de passer une requête en paramètre, juste le nom ou le contenu des balises qui t'intéressent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    En fait le fichier XML sert de base de données...
    Le problème est que celui-ci n'est pas spécialement bien formé.

    De toute façon je n'ai pas le choix...

    La variable contient ce genre d'info qui correspond donc à une requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BIENS/BIENS [PRIX>=300000] and [PRIX<500000] and [TYPE_OFFRE = 'T3'] and [VILLE = FOURAS] and [NB_PIECES = '4']
    J'ai bien essayer de passer par le Dom php mais je n'arrive pas à récupérer les noeud du plus bas niveau via leurs noms...

    Je peut les récupérer mais pour afficher ce que je veut je suis obligé de les parcourir et vérifier leur nom à chaque fois...

    Ou alors je fais une boucle et je récupère ce que je veut utiliser dans un tableau. (Cela me paraît un peu lourd comme traitement)



    Suite à une longue recherche j'ai trouvé ce que je voulais afin de passer au final par Dom...

    Pour récupérer par le nom un fils d'un noeud sur lequel on travail il m'a fallu faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (!is_null($elements)) {
    		  foreach ($elements as $element) {	 
    				 echo" <div class=\"annonce\">
                           <div class=\"titre_annonce\">
                            <span>".$element->getElementsByTagName('CATEGORIE')->item(0)->nodeValue."
    Merci pour tout.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je ne sais pas comment, vu que php ça m'intéresse pas, mais :

    PHP peut certainement exécuter des requêtes XPath, sans passer par du XSLT.

    Cela aurait dû être ce que tu essaies de faire, et ce que tu recherches dans la doc PHP.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème XML/XSLT/PHP
    Par Poseidon62 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/04/2006, 17h32
  2. [XSLT] Utilisation de XML avec PHP dans le cadre d'un site
    Par nicolas66 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 06/11/2005, 22h39
  3. [XML-XSLT-PHP] Récupération de l'heure courante dans xml
    Par mamat- dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 05/08/2005, 16h02
  4. [XSLT] transformation XML->XML en php
    Par amellouki dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 03/03/2005, 12h32
  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