[XSLT] Comment afficher un tableau à partir d'un xml complexe ?
Bonjour,
mon sujet est un peu complexe...je m'explique.
J'ai un xml qui a cette forme:
Code:
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 |
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:
- 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):
Code:
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> |
Malheureusement il me fait une erreur, il me compte tous les media.
Je n'arrive pas à compter tous les "media" qui sont dans un "item" qui possède plusieurs "media".
Avez-vous une idée ?