Comment "injecter" un paramètre de l'extérieur ?
Bonjour,
Voilà, j'ai un petit programme XML/XSL que j'appelle via une procédure en PHP (voir ci-dessous) et qui fonctionne très bien !
Ceci dit, j'aimerais que la variable "auteur_choisi" puisse être choisie "de l'extérieur", c'est à dire, par exemple, via la procédure PHP, à travers l'expression de son Url -> Du style :
Code:
http://souffle56.ovh.org/Site/Tests/Injection_d_une_variable/PHP.php?auteur_choisi=Dess
Seulement, une fois la variable Url récupérée en PHP (ou en javascript), comment faire pour que le code XSL puisse lui faire "bon accueil" et l'intégrer :question:
Si vous avez une idée, par avance un immense Merci ! :)
Code PHP:
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?php
$xslDoc = new DOMDocument();
$xslDoc->load("XSL.xsl");
$xmlDoc = new DOMDocument();
$xmlDoc->load("XML.xml");
$proc = new XSLTProcessor();
$proc->importStylesheet($xslDoc);
echo $proc->transformToXML($xmlDoc);
?> |
Code XML:
Code:
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="Joe">
<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 XSL:
Code:
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:variable name= "auteur_choisi">Dess</xsl:variable>
<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> |