IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Comment débugger un fichier XSL ? [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 220
    Par défaut 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 : 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>
    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
    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 : 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>
    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 : 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>
    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
     
                    <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é

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 220
    Par défaut 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é

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/11/2008, 11h17
  2. Réponses: 2
    Dernier message: 20/08/2008, 13h45
  3. [XSL] comment transformer ce fichier xml en une table html ?
    Par jlassira dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 15/03/2006, 12h15
  4. [XSL] Comment transformer un fichier XML en un autre XML
    Par elzedo dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/01/2006, 10h51
  5. Comment générer un fichier texte à partir d'un XML et XSL
    Par Jayceblaster dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/07/2005, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo