Bonjour,
voilà mon problème:
j'ai le fichier xml suivant:

<xml>
   <data>
      <row nom="BERNARD" prenom="Sylvie" societe="Peugeot" />
      <row nom="DUPOND" prenom="Maurice" societe="PEUGEOT" />
      <row nom="FEDERER" prenom="Sylvain" societe="néptune" />
      <row nom="RERNARD" prenom="Marc" societe="NEPTUNE" />
   </data>
</xml>

et je souhaiterai avoir ce résultat(en html):

NEPTUNE
   FEDERER Sylvain
   RERNARD Marc
PEUGEOT
   BERNARD Sylvie
   DUPOND Maurice

et je dois avouais que je ne vois pas du tout comment faire sachant qu'il faut prendre en compte la casse, j'ai esseyer pleins de truc avec translate key la méthode muenchienne mais rien à faire j'en peux plus je crack...

Donc je remercie d'avance tous ceux qui m'aideront à trouver une solution !!!
Modifié par killer75 (06 Mar 2008 - 17:58)
Hum... je ne vois pas ta solution Smiley cligne

Sinon, comme ça à brûle-pourpoint j'aurais créé un template, prenant en paramètre une chaîne de caractères quelconque et qui à force de translate change toutes les minuscules et lettres accentuées en majuscules, du genre

<xsl:template name="miseEnMajuscules">
    <xsl:param name="chaine" />
    <xsl:variable name="chaine1" select="translate($chaine, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ")" /> <!-- on commence par les minuscules -->
    <xsl:variable name="chaine2" select=translate($chaine1,"àâéèêîïôûù","AAEEEIIOUU") /> <!-- on continue avec les lettres minuscules accentuées -->
    <xsl:variable name="chaine3" select=translate($chaine2,"ÀÂÉÈÊÎÏÔÛÙ","AAEEEIIOUU") /> <!-- on continue avec les lettres majuscules accentuées -->
    <!-- Éventuellement ici on place d'autres traitements... -->
    <xsl:value-of select="$chaine3" />
</xsl:template>


Je n'ai pas testé, mais en tout cas c'est l'idée Smiley cligne

Après, il ne reste plus qu'à trier en fonction des chaînes de caractères transformées par ce template, puis à tester à chaque fois si c'est la première fois qu'on la rencontre (avec des next-sibling ou quelque chose dans ce genre...)
Bonjour,

Je complète la réponse de Gilles (le translate() est effectivement la bonne idée), ensuite je crois que pour les regroupements, le plus simple est d'exploiter l'élément <xsl:key ... />. Un exemple très similaire avait déjà été résolu dans ce forum.