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

XML/XSL et SOAP Discussion :

XSL: Probleme avec des noeuds parent


Sujet :

XML/XSL et SOAP

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 63
    Par défaut XSL: Probleme avec des noeuds parent
    Hello

    J'ai un petit souci surement tres simple à résoudre, mais je ne comprends pas ce qui cloche dans mon code.

    J'ai un fichier XML qui ressemble à ca:
    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
    25
     
    <Version>
      <CL>
        <User>mrX</User>
        <Comment>
          <Category>compilfix</Category>
          <Products>
            <Family Name="Undefined">
              <Product>Undefined</Product>
            </Family>
          </Products>
        </Comment>
      </CL>
      <CL
        <User>mrX</User>
        <Comment>
          <Category>improvement</Category>
          <Products>
            <Family Name="Undefined">
              <Product>Undefined</Product>
            </Family>
          </Products>
        </Comment>
      </CL>
    </Version>
    Et un extrait de mon XSL associé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      <xsl:for-each select="document(.)//Version/CL/Comment/Products /Family[generate-id(.)=generate-id(key('fam', @Name))]">
        <xsl:variable name="currentFam" select="@Name"/>
        <xsl:if test="(../..)/Category='improvement''">
     
    ...
    ...
    Je fais donc un test (xsl:if) car je ne veux prendre en compte que les champs Category qui ont comme valeur "improvement". Or, avec le xml ci-dessus, le test échoue tout le temps car (../..)/Category retourne toujours 'compilfix'. Comme si le for-each s'arretait à la premiere valeur trouvée.
    Est ce que quelqu'un voit où j'aurais pu me tromper ?

    Merci d'avance
    K.

  2. #2
    Membre éclairé Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Par défaut
    C'est un peu normal.
    A mon avis tu devrai boucler sur Version/CL
    Puis ensuite tu pourras sélectionner les champs et attributs qui te conviendront le mieux
    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:for-each select="Version/CL">
      <xsl:value-of select="Comment/Category" />
    </xsl:for-each>

Discussions similaires

  1. Probleme avec des socket !
    Par Ptimath44 dans le forum Réseau
    Réponses: 11
    Dernier message: 31/10/2005, 18h11
  2. Probleme avec des pointeurs...
    Par barucca dans le forum C++
    Réponses: 5
    Dernier message: 23/08/2005, 21h05
  3. [XSL][Noob]Compter des noeuds de meme valeur??
    Par Devil666 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/07/2005, 10h07
  4. [xml-xsl] Probleme avec position()
    Par seb30 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/04/2005, 11h10
  5. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 08h42

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