Bonjour,

J'ai besoin de trier les produits en fonction de leur sous produit le moin chère et de meme couleur.
Le produit est lui même présent dans ses sous produits.

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
<produit id="16">
	<famille>
		<pdt id="11" prix="5" couleur="Bleu"/>
		<pdt id="12" prix="8" couleur="Bleu"/>
		<pdt id="13" prix="7" couleur="Bleu"/>
		<pdt id="14" prix="9" couleur="Bleu"/>
		<pdt id="15" prix="4" couleur="Rouge"/>
		<pdt id="16" prix="8" couleur="Rouge"/>
		<pdt id="17" prix="6" couleur="Rouge"/>
	<famille>
</produit>
<produit id="23">
	<famille>
		<pdt id="21" prix="6" couleur="Rose"/>
		<pdt id="22" prix="10" couleur="Rose"/>
		<pdt id="23" prix="8" couleur="Rose"/>
		<pdt id="24" prix="11" couleur="Rose"/>
		<pdt id="25" prix="2" couleur="Vert"/>
		<pdt id="26" prix="6" couleur="Vert"/>
		<pdt id="27" prix="4" couleur="Vert"/>
	<famille>
</produit>
J'ai fait çà, mais ce la ne semble pas fonctionner.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<xsl:apply-templates select="produit">					  
	<xsl:sort select="famille/pdt[@couleur=../pdt[@id=ancestor::produit/@id]/@couleur and not(preceding-sibling::pdt/@prix < @prix) and not(following-sibling::pdt/@prix < @prix)]/@prix" order="ascending" data-type="number" />                        
</xsl:apply-templates>

Avez-vous une idée ?
Merci