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] Noeud par rapport aux autres


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut [XSLT] Noeud par rapport aux autres
    Bonjour,

    Je voudrais savoir, d'après ce code XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     </champ>
        <champ id="ID" genre="numerique">
          <titre lang="fr">ID</titre>
          <eti num="1">
            <titre lang="fr">choix1</titre>
          </eti>

    voilà, je voudrai dire, à mon XSLT, que "quand on est à la derniere eti, execute moi un code".
    Mais je ne sais pas traduire en code : derniere eti


    Quelqu'un pourrait m'aider s'il vous plait ?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    'Faut reconnaître que ce n'est pas évident.

    En admettant que tu sois en train de traiter une <eti>, le but est de vérifier si c'est la dernière du document ?

    On peut faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:if test="generate-id(.) = generate-id((//eti)[last()])">
      <!-- Truc à faire pour la dernière <eti> -->
    </xsl:if>
    (//eti)[last()] permet de sélectionner la dernière <eti> du document.

    generate-id() est une fonction qui génère un identifiant pour le nœud qu'on lui passe en paramètre.
    Le principe est que cet identifiant est unique dans le document : il n'y aura pas deux nœuds avec le même identifiant. De plus, si on lui passe plusieurs fois le même nœud, elle lui donnera toujours le même identifiant.

    Donc en vérifiant si elle génère la même chose pour "le dernier truc" et "le truc en cours," on vérifie en fait si le truc en cours est le dernier truc.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut
    Merci pour cette propositon , ça marche. Nikel je vous remercie !!!

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut
    Re Bonjour !

    Il y a un petit soucis en faite, car :

    - Okay, il repère si c'est pas le dernier eti du fichier, mais si c'est le dernier "eti" du fichier MAIS PAS du dernier champ, je ne veux pas qu'il me retire la virgule !
    Pourtant là, il l'a retire ...

    Une idée ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Tu avais l'impression d'être claire, là, sans doute ?
    Mauvaise nouvelle...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 40
    Par défaut
    Hum, bon je vais essayer d'être plus claire :

    Mon fichier XML est composé :

    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
     <doc>
         <champ id="Table1" genre="numerique">
           <eti num="1">
            </eti>
           <eti num="2">
              </eti>
         </champ>
         <champ id="table2" genre="numerique">
           <eti num="1">
              </eti>
         </champ>
        </champ id="table3" genre="texte">
       </champ>
     
        </doc>

    donc, avec le code que j'ai en ce moment, nous n'aurons plus de virgule à partir de "table2_1", or il me reste un "champ", donc ça foire tout ..

    car ça me donne comme résultat :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     `Table1__1`   ,  
     
         `Table1__2`     
     
         `table2__1`
    alors que j'aurai voulu avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     `Table1__1`   ,  
     
         `Table1__2`    , 
     
         `table2__1`
    Je veux lui que si c'est pas le dernier champ, tu me met ma virgule même si c'est la derniere etiquette. en fait faudrai une imbrication des "if" .. ?

    Merci de votre aide !?

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/10/2008, 22h06
  2. Placer des table les unes par rapport aux autres.
    Par IyF33 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 03/07/2008, 09h29
  3. Agrandissement/Réduction de rectangle, les uns par rapport aux autres avec contrainte
    Par zuzuu dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 17/01/2008, 16h34
  4. les avantages d'PHPEclipse par rapport aux autres IDE php
    Par young077 dans le forum Eclipse PHP
    Réponses: 2
    Dernier message: 29/08/2007, 10h09
  5. Frequence processeur par rapport aux autres composants
    Par black is beautiful dans le forum Composants
    Réponses: 7
    Dernier message: 02/02/2006, 19h08

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