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 :

[XSLT] balises entrelacées ?


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut [XSLT] balises entrelacées ?
    bonjour,

    seconde question de la matiné

    voila je voudrais ecrire un bout de script xslt de ce style là ...

    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
     
    <xsl:element name="balise1">
         <xsl:for-each select="root/element/*">
               <xsl:choose>
                   <xsl:when test=condition>
                         <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
                    <xsl:when>
                    <xsl:otherwise>
    		      </xsl:element> => on ferme la balise1
                          <xsl:element name="balise1">  => on reouvre une balise 1
                          <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
    		</xsl:otherwise>
    	     </xsl:choose>
             </xsl:for-each>
     </xsl:element> => on ferme la balise1
    biensur, j'ai deja essayé et ça marche pas .. il ne supporte pas que je referme la "balise1" dans la boucle ... quelqu'un à une idée ?

  2. #2
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    oui alors effectivement

    pourquoi dans le cas " autres cas" aka otherwise tu commence par fermer une balise ???????????????????????????????????????? c'est marrant un peu mais c'est pas tip top : j aime bien mais j'aime pas trop quand meme

    alors je ne sais pas ce que tu veux faire mais il semblerait que dnas le cas "otherwise" tu veuilles construire deux balises, moi je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <xsl:otherwise>
     
                          <xsl:element name="balise1"> 
                            faire qqch 
                          </xsl:element> => on ferme la balise1
     
                          <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
    		</xsl:otherwise>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    parceque je veux obtenir une structure de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <layout>
         <balise1>
             <balise2>truc</balise2>
             <balise2>machin</balise2>
             <balise2>chouette</balise2>
         </balise1>
          <balise1>
             <balise2>AAA</balise2>
         </balise1>
    </layout>
    c'est l'un des elements de "AAA" qui force la separation d'avec "truc machin chouette"

  4. #4
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ah c'est pas pareil

    alors dans ta balise1 il n y as pas d autre balise1 c'est a dire que des balise2
    tu ouvre et tu ferme qu une seule fois ta balise1 c'est mieux
    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
     
     
    <xsl:element name="balise1">
         <xsl:for-each select="root/element/*">
               <xsl:choose>
                   <xsl:when test=condition>
                         <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
                    <xsl:when>
                    <xsl:otherwise>
                          <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
    		</xsl:otherwise>
    	     </xsl:choose>
             </xsl:for-each>
     </xsl:element> => on ferme la balise1

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    OK , mais lorsque j'arrive dans le cas de "AAA", je doit fermer ma balise1 et la reouvrir afin d'ecrire le <balise2>AAA</balise2>

    imagine que tu ecrit des elements les un à la suite des autres (tu as une ligne de longueur infini) .... et il y en a quelques uns qui te force à changer de ligne avant de les ecrire ...

    mais tu ne le sait que lorsque tu les rencontres

  6. #6
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ah oui ok je vois ben faut que tu fasse un algo qui a mon avis va etre un peu
    donc en reflechissant un peu avec les molécules feignantissePowa de mon cerveau :
    je me suis dis : "tiens aujourd hui il fait vraiment un temps de chien .. mais c'est pas pour autant que 1 ne fais pas 1 + 1 "
    donc en gros tu t occupe des balises ( on va dire type1) d abord :
    <balise1>
    <balise2>truc</balise2>
    <balise2>machin</balise2>
    <balise2>chouette</balise2>
    </balise1>

    puis apres de celle ci :
    <balise1>
    <balise2>AAA</balise2>
    </balise1>


    je pense que l 'ordre dans lequel sont ecrites les balises n 'est pas important ....

    niveau code :
    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
     
     
    xsl:element name="balise1">
         <xsl:for-each select="root/element/[ton test qui correspond au balise type1 ]">
    <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
    </xsl:for-each>
     </xsl:element> => on ferme la balise1
     
     
    xsl:element name="balise1">
         <xsl:for-each select="root/element/[ton test qui correspond au balise type2 ]">
    <xsl:element name="balise2">
                                  faire qqch
                          </xsl:element>
    </xsl:for-each>
     </xsl:element> => on ferme la balise1
    apres si tu veux pas faire comme ca : tu peux toujours implementer un algo "en un coup " qui differencie et gere tout ... mais a mon avis ca va etre beaucoup plus chiant ;D

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

Discussions similaires

  1. [XSLT]balises meta
    Par Crazyfaboo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/07/2007, 14h06
  2. [XSLT] Balises conditionnelles
    Par ploxien dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/11/2006, 16h30
  3. [XSLT] Balise issue d'une variable
    Par ploxien dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/11/2006, 14h20
  4. [XSLT] Balise for-each et caractères spéciaux
    Par Guilbert69 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 09/10/2006, 11h37
  5. [.NET][XSLT] balise META
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/05/2005, 11h35

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