Bonjour,
mon sujet est un peu complexe...je m'explique.
J'ai un xml qui a cette forme:
J'ai plusieurs balises "item" dans une balise "root". Chaque balise "item" peut comporter une ou plusieurs "media". Je dois via Xslt afficher deux pages:
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 <root> <item> <media></media> </item> <item> <media></media> <media></media> <media></media> </item> <item> <media></media> </item> <item> <media></media> <media></media> </item> </root
- la première contient les "media" qui sont uniques dans les balises "item"
- la seconde contient les "media" qui sont plusieurs dans les balises "item"
Les "media" sont affichés dans un tableau de 2 colonnes dans les deux pages.
Je dois donc fermer un TR tous les deux "media". Pour cela j'ai besoin de compter le nombre de "media" de trouvant avant le noeud courant. Pour l'instant j'ai un code comme celui-ci (pour chaque media):
Malheureusement il me fait une erreur, il me compte tous les media.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsl:if test="((count(preceding-sibling::media)) mod 2) = 0"> <xsl:text disable-output-escaping="yes"><tr></xsl:text> </xsl:if> Affichage du tableau <xsl:if test="((count(preceding-sibling::media)+1) mod 2 = 0"> <xsl:text disable-output-escaping="yes"></tr></xsl:text> </xsl:if>
Je n'arrive pas à compter tous les "media" qui sont dans un "item" qui possède plusieurs "media".
Avez-vous une idée ?
Partager