Utilisation de following-sibling
Bonjour à tous
Après plusieurs heures de recherche, je me tourne vers la communauté (très active) de dvp afin de m'aider un peu.
Je voudrais pouvoir utiliser following-sibling pour tester si un élément existe, et auquel cas récupérer un de ces fils.
Voilà mon XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<base>
<elem>
<id>1</id>
<nom>elem1</nom>
<parent>0</parent>
</elem>
<elem>
<id>2</id>
<nom>elem2</nom>
<parent>0</parent>
</elem>
...
<elem>
<id>56</id>
<nom>elem56</nom>
<parent>2</parent>
</elem>
</base> |
J'aimerais récupérer le nom associé à un noeud, tester si un noeud frère de parent 0 existe, et auquel cas relancer mon template qui récupère le nom.
Le template dans mon XSL est actuellement comme ça:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<xsl:template name="cellule">
<xsl:param name="nbElem" />
<xsl:choose>
<xsl:when test="$nbElem=0">
<div>
<xsl:attribute name="class">tr</xsl:attribute>
<xsl:attribute name="style">height: 50px;</xsl:attribute>
<xsl:text>*</xsl:text>
</div>
<div>
<xsl:attribute name="class">tr center-align</xsl:attribute>
<div>
<xsl:attribute name="class">td30</xsl:attribute>
<xsl:value-of select="/following-sibling::*/nom" /><!--Valeur nom du noeud-->
</div>
<!--Test prochain noeud-->
<xsl:call-template name="cellule">
<xsl:with-param name="nbElem" select="1" />
</xsl:call-template>
</div>
</xsl:when> |
Je remercie d'avance la (les) âme(s) charitable(s) qui m'aideront à régler ce problème.