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.