Est-ce qu'un pro de XSL pourrait me dire comment remplacer l'utilisation des variables
cli1, cli2...clin (;-) clin d'oeil!!) par une structure de donnée plus sympa
dans le code suivant...
sachant que les données de type array n'existe pas.
(Ah, ce manque de tableau. j'ai encore du mal a m'y habitué!!)
Merci
-___________________________________
Lit les elts d'une liste dans un fichier
<xsl:variable name="Assoc" select="document($NomDoc)//Cli "/>
<xsl:variable name="cli1" select="$Assoc[position()=1]/@name"/>
<xsl:variable name="cli2" select="$Assoc[position()=2]/@name"/>
<xsl:variable name="cli3" select="$Assoc[position()=3]/@name"/>
A chacun de ces elts est associé une valeur par default
<xsl:variable name="Default1">
<xsl:call-template name="setDefaut">
<xsl:with-param name="cli" select="$cli1"/>
</xsl:call-template>
</xsl:variable>
....
pour chacun de ces elements une cle est défini sur une liste
<xsl:key name="Kcli1" match="//*[local-name()='ListeNom'][contains($cli1,@cli)]/Nom" use="@name"/>
<xsl:key name="Kcli2" match="//*[local-name()='ListeNom'][contains($cli2,@cli)]/Nom" use="@name"/>
<xsl:key name="Kcli3" match="//*[local-name()='ListeNom'][contains($cli3,@cli)]/Nom" use="@name"/>
dans un autre fichier
on lit les enr un à un
quand "$v_nom" est lu, l'index correspondant est parcouru à la recherche de la valeur
pour afficher une valeur associée ($NomAssoc)
<xsl:choose>
<xsl:when test="$Cli=$cli1" >
<xsl:for-each select="document($NomDoc)">
<xsl:value-of select="key('Kcli1',$V_nom)/@NomAssoc"/>
</xsl:for-each>
</xsl:when>
.....
<xsl:choose>
Partager