Comment utiliser XSLT pour créer des valeurs distinctes

J’ai XML comme ceci:

   laptop charger     laptop headphones    

Je veux qu’il sorte comme

 portable
 chargeur
 écouteurs

J’essayais d’utiliser distinct-values() mais je suppose que je fais quelque chose de mal. Quelqu’un peut-il me dire comment y parvenir en utilisant distinct-values() ? Merci.

   
  • mais ce qui me donne des résultats comme ceci:

     
  • laptop
  • charger
  • laptop>
  • headphones
  • Une solution XSLT 1.0 qui utilise des key et la fonction generate-id() pour obtenir des valeurs distinctes:

           
  • Voici une solution XSLT 1.0 que j’ai utilisée dans le passé, je pense qu’elle est plus succincte (et lisible) que l’utilisation de la fonction generate-id() .

       

    Résultats:

     
    • laptop
    • charger
    • headphones

    Vous ne voulez pas “output (distinct-values)”, mais plutôt “for-each (distinct-values)”:

       
  • Je suis arrivé à ce problème en travaillant avec un rendu Sitecore XSL. L’approche qui a utilisé la clé () et l’approche qui a utilisé l’axe précédent ont toutes deux progressé très lentement. J’ai fini par utiliser une méthode similaire à key () mais qui ne nécessitait pas l’utilisation de key (). Il fonctionne très rapidement.

         

    distinct-values(//product/text())