Bonjour à tous,
Je suis un gros zéro en XSL.
La question vous semblera stupide.
Voici le code du fichier XSL:
Ce fichier XSL (ci-dessus) est lié à un fichier PDF. Lorsque l'utilisateur exporte les données, un fichier XML est crée (exemple ci-dessous) et ce fichier XSL est exécuté.
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 <xsl:template match="/rep1/rep2"> <xsl:variable name="value" select="rep1/rep2/Lieu" /> <xsl:choose> <xsl:when test="$value = 'Cuisine'"> <resultat1> <xsl:apply-templates/> </resultat1> </xsl:when> <xsl:when test="$value = 'Chambre'"> <resultat2> <xsl:apply-templates/> </resultat2> </xsl:when> <xsl:when test="$value = 'Salon'"> <resultat3> <xsl:apply-templates/> </resultat3> </xsl:when> </xsl:choose> </xsl:template>
L'exemple que je donne est stupide. Dans la réalité, je ne peux pas vous montrer les données réelles.
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 <?xml version="1.0" encoding:"UTF-8"?> <rep1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0 of 01-01-2025" xsi:noNamespaceSchemaLocation="exemple.xsd"> <formVersion>Document 1.0</formVersion> <rep2> <Description>Lit Baldaquin</Description> <Prix>500</Prix> <Lieu>Chambre</Lieu> </rep2> <rep2> <Description>Four</Description> <Prix>60</Prix> <Lieu>Cuisine</Lieu> </rep2> <rep2> <Description>Lave-Vaisselle</Description> <Prix>150</Prix> <Lieu>Cuisine</Lieu> </rep2> <rep2> <Description>Bibliothèque</Description> <Prix>450</Prix> <Lieu>Salon</Lieu> </rep2>
C'est pour comprendre le principe.
Ce que devrait faire le fichier XSL: c'est que rep2 dois changer de nom en fonction de la valeur du champ "Lieu"
Voilà à quoi devrait ressembler le résultat final.
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 <?xml version="1.0" encoding:"UTF-8"?> <rep1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0 of 01-01-2025" xsi:noNamespaceSchemaLocation="exemple.xsd"> <formVersion>Document 1.0</formVersion> <resultat2> <Description>Lit Baldaquin</Description> <Prix>500</Prix> <Lieu>Chambre</Lieu> </resultat2> <resultat1> <Description>Four</Description> <Prix>60</Prix> <Lieu>Cuisine</Lieu> </resultat1> <resultat1> <Description>Lave-Vaisselle</Description> <Prix>150</Prix> <Lieu>Cuisine</Lieu> </resultat1> <resultat3> <Description>Bibliothèque</Description> <Prix>450</Prix> <Lieu>Salon</Lieu> </resultat3>
Mais voilà. Cela ne fonctionne pas.
J'aimerais donc débugger le fichier XSL pour connaitre la valeur de la variable "value" !
Je n'y arrive pas
Le résultat que je reçois actuellement est:
Puisque le résultat affiché est "resultat1", alors dans ce bloc de code j'ai mis
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 <?xml version="1.0" encoding:"UTF-8"?> <rep1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0 of 01-01-2025" xsi:noNamespaceSchemaLocation="exemple.xsd"> <formVersion>Document 1.0</formVersion> <resultat1> <Description>Lit Baldaquin</Description> <Prix>500</Prix> <Lieu>Chambre</Lieu> </resultat1> <resultat1> <Description>Four</Description> <Prix>60</Prix> <Lieu>Cuisine</Lieu> </resultat1> <resultat1> <Description>Lave-Vaisselle</Description> <Prix>150</Prix> <Lieu>Cuisine</Lieu> </resultat1> <resultat1> <Description>Bibliothèque</Description> <Prix>450</Prix> <Lieu>Salon</Lieu> </resultat1>
Cela ne fonctionne pas. Comment afficher le contenu de la variable "value" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <resultat1> <xsl:text>Exemple<xsl:text> <xsl:value-of select="$value"/> </resultat1>
Merci de votre aide
André
Partager