Bonjour,
D'ordinaire, le php, je trouve cela plutôt "top" ! Et puis, le XML/XSL "Wouah !"
Après, quand il s'agit d'agencer les 2 ensemble -> gloup ! Là, je me sens nettement moins à mon aise ! Voici donc l'objet de ma venue :
C'est à propos de l'ensemble XML/XSL ci-dessous, que j'appelle via le code PHP (toujours ci-dessous)
Si je lance le code php tel quel PHP2.php -> Super, ça fonctionne !
Ca affiche bien les infos demandées concernant le 2ème auteur "éli" :
Après, si je remplace la ligneVariable "auteur" : éli
Début
* One - A - B - C
* Two - A2 - B2 - C2
Endpar
Code : Sélectionner tout - Visualiser dans une fenêtre à part $auteur='éli';et que je relance le tout via l'URI suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part $auteur=$_GET['auteur'];
Voilà ce qui s'affiche:PHP2.php?auteur=éli
Là, il ne trouve plus !Variable "auteur" : �li
Début
End
-> Autrement dit, ça me donne l'impression d'une "incompatibilité" entre "$_GET" et les fonctions php XML suivantes, à propos de l'accentuation enregistrée de l'URL mais, certainement, il doit y avoir une explication plus "logique" !
Qu'en pensez-vous, SVP ?
Code php:
Code XML:
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 <?php // $auteur=$_GET['auteur']; $auteur='éli'; echo 'Variable "auteur" : '.$auteur; $xsl = new DOMDocument; $xsl->load('XSL.xsl'); $xml = new DOMDocument; $xml->load('XML.xml'); // Configure le transformateur $proc = new XSLTProcessor; $proc->importStyleSheet($xsl); $proc->setParameter(null, 'auteur_choisi', $auteur); echo $proc->transformToXML($xml); ?>
Code 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
29
30
31
32
33
34
35
36
37<?xml version="1.0" encoding="UTF-8"?> <enregistrements> <audios> <enseignements> <auteur nom="Dess"> <album titre="Un sens à sa vie !"> <largeur>462</largeur> <regroupement sous_titre="Etes-vous heureux ?"> <ligne>Certainement !</ligne> <ligne>Assurément !</ligne> <ligne>Ca c'est sûr !</ligne> </regroupement> <regroupement sous_titre="Tout le temps ?"> <ligne>Euh !</ligne> <ligne>Ben !</ligne> <ligne>Ca dépend !</ligne> </regroupement> </album> </auteur> <auteur nom="éli"> <album titre="Vive la vie !"> <largeur>500</largeur> <regroupement sous_titre="One"> <ligne>A</ligne> <ligne>B</ligne> <ligne>C</ligne> </regroupement> <regroupement sous_titre="Two"> <ligne>A2</ligne> <ligne>B2</ligne> <ligne>C2</ligne> </regroupement> </album> </auteur> </enseignements> </audios> </enregistrements>
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<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Audio</title> </head> <body bgcolor="#FFFFFF"> <p>Début </p> <xsl:apply-templates select="enregistrements/audios/enseignements/auteur[@nom=$auteur_choisi]/album[1]/regroupement" /> <p>End </p> </body> </html> </xsl:template> <xsl:template match="regroupement"> <p> <xsl:apply-templates select="@sous_titre"/> <xsl:apply-templates select="ligne"/> </p> </xsl:template> <xsl:template match="@sous_titre"> * <xsl:value-of select="."/> </xsl:template> <xsl:template match="ligne"> - <xsl:value-of select="."/> </xsl:template> </xsl:stylesheet>
Partager