Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2633 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Eliminer les doublons (résolu)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Eliminer les doublons (résolu)

n°2294995
llyudy
SCruel
Posté le 19-01-2017 à 15:53:55  profilanswer
 

Bonjour,
 
j'ai cet xml :

Code :
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <?xml-stylesheet href="mondeuxieme.xsl" type="text/xsl"?>
  3. <refs>
  4.  <cat1>
  5.   <name>toto</name>
  6.  </cat1>
  7.  <cat1>
  8.   <name>tata</name>
  9.  </cat1>
  10.  <cat2>
  11.   <name>tutu</name>
  12.  </cat2>
  13.  <cat2>
  14.   <name>toto</name>
  15.  </cat2>
  16. </refs>


 
et le XSL suivant
 

Code :
  1. <xsl:variable name="namePath" select="//name" />
  2. <xsl:for-each select="$namePath">
  3.     <xsl:variable name="a" select="position()"/>
  4.     <p><xsl:value-of select="$namePath[$a]"></xsl:value-of></p>
  5. </xsl:for-each>


 
J'obtiens donc :  

Code :
  1. <p>toto</p>
  2. <p>tata </p>
  3. <p>tutu</p>
  4. <p>toto</p>


 
J'aimerais pouvoir n'afficher que :

Code :
  1. <p>toto </p>
  2. <p>tata </p>
  3. <p>tutu</p>


 
j'ai tester pas mal de truc, preceding::, j'ai essayé la méthode Muenchian, mais je n'ai pas réussi.  
 
Merci d'avance pour votre aide  :)


Message édité par llyudy le 20-01-2017 à 10:07:21
mood
Publicité
Posté le 19-01-2017 à 15:53:55  profilanswer
 

n°2295021
gilou
Modérateur
Modzilla
Posté le 19-01-2017 à 22:36:44  profilanswer
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet  
  3.  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  4.  version="2.0">
  5.  
  6.  <xsl:output method="xml" indent="yes"/>
  7.  
  8.  <xsl:template match="/">
  9.    <xsl:for-each select="distinct-values(//name)">
  10.      <p><xsl:value-of select="."/></p>
  11.    </xsl:for-each>
  12.  </xsl:template>
  13.  
  14. </xsl:stylesheet>


Bref, pourquoi se creuser les méninges, alors qu'il y a déjà une fonction xpath pour cela ;)
A+,


Message édité par gilou le 19-01-2017 à 22:41:41

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2295035
llyudy
SCruel
Posté le 20-01-2017 à 09:43:33  profilanswer
 

Ah oui en effet ... x). Merci beaucoup ! :)

n°2295093
gilou
Modérateur
Modzilla
Posté le 20-01-2017 à 21:05:48  profilanswer
 

Et au cas ou tu veux une liste triée:

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet  
  3.  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  4.  version="2.0">
  5.  
  6.  <xsl:output method="xml" indent="yes"/>
  7.  
  8.  <xsl:template match="/">
  9.    <xsl:for-each select="distinct-values(//name)">
  10.      <xsl:sort select="."/>
  11.        <p><xsl:value-of select="."/></p>
  12.    </xsl:for-each>
  13.  </xsl:template>
  14.  
  15. </xsl:stylesheet>


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2295125
llyudy
SCruel
Posté le 23-01-2017 à 11:13:39  profilanswer
 

Merci c'est super sympa :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Eliminer les doublons (résolu)

 

Sujets relatifs
Scheme: comment supprimer doublons dans une listeÉliminer les doublons dans un tableau word
Eliminer doublons sur base de donnéesMysql eliminer les doublons
[EXCEL] Eliminer les doublons dans un tableauEliminer doublons d'une table avec condition sur un champ
Eliminer les doublons d'une table AccessQue puis-je faire pour éliminer mes doublons !
éliminer les doublons d'une colonne dans ma requêteAccess: Comment éliminer des doublons ?
Plus de sujets relatifs à : Eliminer les doublons (résolu)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR