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 :

Doublons et fonction substring-before


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Doublons et fonction substring-before
    Salut à tous,

    j'ai un petit soucis avec la méthode muench combinée à la fonction substring-before

    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
      <div class="listesmall" nowrap="">
        <xsl:for-each select="//Integration/Folder[generate-id(.)=generate-id(key('VERS_GCL', VERS_GCL)[1])]">
     
          <xsl:sort select="substring-before(VERS_GCL, '-')"/>
     
          <p class="liste_da">       
          -     
             <xsl:element name="a">                         
                 <xsl:attribute name="title"><xsl:value-of select="VERS_GCL"/></xsl:attribute>
                 <xsl:attribute name="target">droite</xsl:attribute>
                 <xsl:attribute name="href">lst_build_alloc.htm?name=<xsl:value-of select="name"/></xsl:attribute>
                 <xsl:value-of select="substring-before(VERS_GCL, '-')"/><br></br><br></br>
             </xsl:element>        
     
          </p>
        </xsl:for-each>
      </div>
    en fait j'ai des balises sur mon xml du type 4.11.3-toto ou 4.11.2-titi (balise <VERS_GCL>) et je voudrai afficher un pré-tri avec seulement 4.11.3 et 4.11.2. J'arrive à faire cela avec la méthose substring-before, par contre j'ai de trés nombreux doublons dans ma liste, et je n'arrive pas à les filtrer ... je ne sais pas écrire la méthode muench avec des fonctions à l'intèrieur ... (GRAND GRAND débutant )

    merci d'avance à vous de votre aide.

    Dalefou

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    mes neurones te seraient redevables d'un petit échantillon de ta source XML...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    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
    a vue de nez tout ce situe au niveau de la xsl:key (code non testé puisqu'aucun xml, penses y )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:key name="'VERS_GCL'" match="Folder" select="substring-before(VERS_GCL,'-')"/>
    ...
    <div class="listesmall" nowrap=""> 
        <xsl:for-each select="//Integration/Folder[generate-id(.)=generate-id(key('VERS_GCL', substring-before(VERS_GCL,'-'))[1])]"> 
     
          ....
        </xsl:for-each> 
      </div>

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    en fait j'ai ca ... je dois rater un truc gros comme une maison ...

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:key name="VERS_GCL" match="Folder" select="substring-before(VERS_GCL,'-')"/>
    <xsl:template match="/">
    <html>
    <head>
      <meta http-equiv="Content-Language" content="fr"> </meta>
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta>
      <link rel="STYLESHEET" type="text/css" href="styles.css"> </link>
    </head>
    <body>
     
      <h6><u>Contenu des Versions Livrées</u> :</h6> 
     
     <br></br><br></br><br></br>
      <div class="listesmall" nowrap="">
        <xsl:for-each select="//Integration/Folder[generate-id(.)=generate-id(key('VERS_GCL', substring-before(VERS_GCL,'-'))[1])]">
     
          <xsl:sort select="VERS_GCL"/>
     
          <p class="liste_da">       
          -     
             <xsl:element name="a">                         
                 <xsl:attribute name="title"><xsl:value-of select="VERS_GCL"/></xsl:attribute>
                 <xsl:attribute name="target">droite</xsl:attribute>
                 <xsl:attribute name="href">lst_build_alloc.htm?name=<xsl:value-of select="name"/></xsl:attribute>
                 <xsl:value-of select="VERS_GCL"/><br></br><br></br>
             </xsl:element>        
             <p><h5>Date de fabrication -> <xsl:value-of select="./DATE_FAB"/></h5></p>
             <h6>_____________________________________________</h6>
     
          </p>
        </xsl:for-each>
      </div>
     
     
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    XML

    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
    - <ASSIGNED>
    - <Folder>
      <VERS_GCL>4.11.2-c4</VERS_GCL> 
      <DATE_FAB>alloc</DATE_FAB> 
      <name>1006</name> 
      <owner>deb</owner> 
      <status>prep_folder</status> 
      <description>id - 4.11.2</description> 
      </Folder>
    - <Folder>
      <VERS_GCL>4.11.2-c5</VERS_GCL> 
      <DATE_FAB>alloc</DATE_FAB> 
      <name>1008</name> 
      <owner>deb</owner> 
      <status>prep_folder</status> 
      <description>id - 4.09.4.x -- ASSIGNED or REGISTERED</description> 
    - <tache_da>
      <tache_number>32068</tache_number> 
      <tache_fcl /> 
      <tache_owner>cga</tache_owner> 
      <tache_status>task_assigned</tache_status> 
      <tache_synopsis>all_b05_testIND</tache_synopsis> 
      </tache_da>
    - </Folder>
    -</ASSIGNED>

    voilou voilou ...

    j'ai fais les modifs, mais c'est le tri qui doit rater je pense ....

Discussions similaires

  1. Limite de la fonction substr
    Par zimotep dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2006, 01h45
  2. problème d'update dans une fonction trigger (before)
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/09/2006, 17h08
  3. [XSL]appliquer la fonction substring sur une valeur récupéré
    Par totoranky dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 22/02/2006, 17h21
  4. Enlever les doublons en fonction de la date
    Par nicko5959 dans le forum Access
    Réponses: 2
    Dernier message: 10/01/2006, 14h13
  5. Réponses: 5
    Dernier message: 13/07/2005, 10h03

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