Comment débugger un fichier XSL ?
Bonjour à tous,
Je suis un gros zéro en XSL.
La question vous semblera stupide.
Voici le code du fichier XSL:
Code:
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> |
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:
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> |
L'exemple que je donne est stupide. Dans la réalité, je ne peux pas vous montrer les données réelles.
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"
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
|
<?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> |
Voilà à quoi devrait ressembler le résultat final.
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:
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
|
<?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> |
Puisque le résultat affiché est "resultat1", alors dans ce bloc de code j'ai mis
Code:
1 2 3 4 5
|
<resultat1>
<xsl:text>Exemple<xsl:text>
<xsl:value-of select="$value"/>
</resultat1> |
Cela ne fonctionne pas. Comment afficher le contenu de la variable "value" ?
Merci de votre aide
André
J'annonce que le problème est résolu.
J'essaie de comprendre mais peine perdue
Je suis parti d'une feuille blanche.
J'ai copié le code par morceau et cela à fonctionné.
Pour tester le code, je me suis rendu sur le site: https://linangdata.com/xslt-tester/
Donc, mon problème est résolu
Bonne journée
André