[Débutant] Problème de concaténation
Bonjour,
Je dois parser un fichier XML de ce type (la partie qui m'intéresse est en gras) :
Code:
1 2 3 4 5 6 7
|
<Case>
<Key></Key>
<Category></Category>
<PartyLodged-01>06-06-2007</PartyLodged-01>
<PartyLodged-02>06-06-2007</PartyLodged-02>
<PartyLodged-03>06-06-2007</PartyLodged-03> </Case> |
Je dois traiter le noeud : PartyLodged sauf qu'il peut y en avoir jusqu'à 9 (le nombre varie)
Donc j'appelle le template suivant car j'ai besoin de concaténer ma chaine de caractère grace à l'indice d'itération :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<xsl:template name="parties">
<xsl:param name="iteration"/>
<xsl:param name="noeud"/>
<xsl:if test="$iteration != 9">
<xsl:apply-templates select="noeud/*[starts-with(name(),concat('PartyLodged-0',$iteration)]" />
<xsl:call-template name="parties">
<xsl:with-param name="iteration" select="$iteration + 1"/>
<xsl:with-param name="noeud" select="$noeud"/>
</xsl:call-template>
</xsl:if>
</xsl:template> |
Qui appelle le template suivant dès qu'on a trouvé un noeud :
Code:
1 2 3 4 5 6
|
<xsl:template match="noeud/*[starts-with(name(),concat('PartyLodged-0',$iteration)]">
<td>
<xsl:apply-templates />
</td>
</xsl:template> |
Mais cela ne marche pas et je pense que ca vient du starts-with ou du concat...
Y a t-il une syntaxe qui n'est pas bonne ? Ou bien une mauvaise utilisation de paramètre ?
Merci d'avance