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 :

Champs tous identiques ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Champs tous identiques ?
    J'ai un petit problème en XSL, je voudrais savoir si quelqu'un pourrait m'aider. J'explique rapidement de quoi il s'agit:

    mon élément racine est un élément <Root>. Il peut contenir des éléments <RootDetails> (à à l'infini) ainsi que des <DetailsGroup>.
    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
     
    <Root>
     <RootDetails><!-- je peux en avoir de 0 à l'infini -->
      <Titi>
       <TitiFunction stdValue="7"/>
       <TitiType stdValue="VAT"/>
       <TitiCategory stdValue="S"/>
       <TitiPercent>8.5</TitiPercent>
      </Titi>
     </RootDetails>
     
     <DetailsGroup><!-- je peux en avoir de 0 à l'infini -->
      <RootDetails><!-- je peux en avoir de 0 à l'infini -->
       <Titi>
        <TitiFunction stdValue="7"/>
        <TitiType stdValue="VAT"/>
        <TitiCategory stdValue="S"/>
        <TitiPercent>8.5</TitiPercent>
       </Titi>
      </RootDetails>
      <DetailsGroup><!-- je peux encore en avoir de 0 à l'infini de manière imbriquée-->
        <!--avec tous les champs ci-dessus-->
      </detailsGroup>
     </RootDetails>
    </Root>
    Mon problème est de savoir si les champs <TitiPercent> de tous les <RootDetails> d'un même <DetailsGroup> (sans récursion, quand même), ont la même valeur.
    Quelqu'un peut-il m'aider ?
    Je suis complètement bloqué, je n'arrive pas à trouver comment faire.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    un truc de ce style?(attention pas teste et il manque le cas ou il n'y a qu'un seul noeud titipercent)
    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
    <xsl:call-templates name='verif'>
      <xsl:with-param name="noeud" select="root/DetailsGroups[celui que tu veux]/RootDetails/TitiPercent"/>
    </xsl:call-templates>
    .......
    <xsl:templates name='verif'>
      <xsl:param name="noeud"/>
     
      <xsl:choose>
        <xsl:when test="noeud[position()&gt;1 and (text()!=noeud[1]/text())]">
         tous egaux
        </xsl:when>
        <xsl:otherwise>
               pas egaux
        </xsl:otherwise>
      </xsl:choose>
    </xsl:templates>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci pour la réponse, ça correspond exactement à ce que je voulais faire. Je ne pensais pas que l'on pouvait tester tous les cas dans un test comme celui-ci.
    Merci bien, tu m'as en levé une bonne épine du pied
    Désolé pour le multi-post.

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

Discussions similaires

  1. comparaison de 2 champs pas identique
    Par jd416 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/08/2008, 14h12
  2. [awk] lignes qui se suivent avec le champs $2 identiques
    Par VinnieMc dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 26/03/2008, 19h57
  3. Listé déroulante classée + champ « tous »
    Par joshua12 dans le forum IHM
    Réponses: 2
    Dernier message: 20/06/2007, 14h28
  4. masquer 1 champ si identique au précédent
    Par plousky dans le forum Access
    Réponses: 4
    Dernier message: 12/07/2006, 15h37
  5. fusionner 2 tables dont les champs sont identiques mais.....
    Par NoobX dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/10/2005, 16h12

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