XSLT 1.0 Groupement assez complexe !
killer75
-
killer75 -
killer75 -
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 !!!
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 !!!
Configuration: Windows XP Internet Explorer 7.0
A voir également:
- XSLT 1.0 Groupement assez complexe !
- Télécharger zuma deluxe 1.0 gratuit - Télécharger - Jeux vidéo
- Vous ne pouvez pas récupérer votre compte pour le moment, car google n'a pas assez d'informations pour s'assurer que ce compte vous appartient. - Forum Gmail
- Ce texte est composé de plusieurs lignes. ce qui le rend assez long. il doit être copié pour être collé dans la zone 2. ✓ - Forum Windows
- Vous n'avez pas fourni assez d'informations pour que google puisse s'assurer que ce compte vous appartient. google vous demande ces informations afin de protéger votre compte. - Guide
- Wmc acm 1.0 app - Forum Matériel & Système
1 réponse
Pb résolu dans un autre forum je poste donc la soluce:
<xsl:for-each select="/xml/data/row">
<xsl:sort select="translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')"/>
<xsl:if test="not(preceding-sibling::row[translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')=translate(current()/@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')])">
<xsl:variable name="cursoc" select="translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')"/>
<p><xsl:value-of select="$cursoc"/></p>
<ul>
<xsl:for-each select="/xml/data/row[translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')=$cursoc]">
<li><xsl:value-of select="concat(@nom,' ',@prenom)"/></li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="/xml/data/row">
<xsl:sort select="translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')"/>
<xsl:if test="not(preceding-sibling::row[translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')=translate(current()/@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')])">
<xsl:variable name="cursoc" select="translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')"/>
<p><xsl:value-of select="$cursoc"/></p>
<ul>
<xsl:for-each select="/xml/data/row[translate(@societe,'abcdefghijklmnopqrstuvwxyzàâéèêîôùû','ABCDEFGHIJKLMNOPQRSTUVWXYZAAEEEIOUU')=$cursoc]">
<li><xsl:value-of select="concat(@nom,' ',@prenom)"/></li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:for-each>