[XSLT] boucles imbriquées
Bonjour,
J'ai besoin de faire une boucle imbriquée dans mon XSL pour comparer le nom des variables et récuperer leur valeurs.
XML :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <s:Schema id="RowsetSchema">
<s:ElementType name="row" content="eltOnly" rs:CommandTimeout="30">
<s:AttributeType name="ows_Attachments" rs:name="Pièces jointes" rs:number="1">
<s:datatype dt:type="boolean" dt:maxLength="1" />
</s:AttributeType>
<s:AttributeType name="ows_LinkTitle" rs:name="Titre" rs:number="2">
<s:datatype dt:type="string" dt:maxLength="512" />
</s:AttributeType>
<s:AttributeType name="ows_Variable1" rs:name="Variable1" rs:number="3">
<s:datatype dt:type="float" dt:maxLength="8" />
</s:AttributeType>
<s:AttributeType name="ows_variable2" rs:name="variable2" rs:number="4">
<s:datatype dt:type="float" dt:maxLength="8" />
</s:AttributeType>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row ows_Attachments="0" ows_LinkTitle="client1" ows_Variable1="125.512212" ows_variable2="259.000000000000" />
<z:row ows_Attachments="0" ows_LinkTitle="client2" ows_Variable1="258.000000000000" ows_variable2="256.000000000000" />
</rs:data> |
mon XSL :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <table border="1" id="lesClients">
<xsl:for-each select="//rs:data/z:row">
<xsl:variable name="ID" select="position()"/>
<tr>
<td WIDTH="70" align="center" onClick="put({$ID})" title="Cliquez pour executer">
<b><xsl:value-of select="@ows_LinkTitle" /></b>
</td>
<xsl:for-each select="@*">
<xsl:variable name="var" select="."/>
<xsl:for-each select="//s:ElementType/s:AttributeType/@*">
<xsl:variable name="i" select="position()"/>
<xsl:variable name="var2" select="."/>
<xsl:if test="$var=$var2">
<td title="variable{$i}" id="T{$ID}{.}">
<xsl:value-of select="floor(.)"/>
</td>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</tr>
</xsl:for-each>
</table> |
Enfaite j'aimerai récuperer la valeur de chaque variable ows_Variable1(ows_Variable2, ...) ainsi que son nom(mais il me faut son nom pour récuper sa valeur ...8O) qui est dans le rs:name qui est enfaite son nom de variable sans le "ows_". Pour ça j'ai pensé à parcourir les attribut de chaque element z:row et les comparer avec les attributs de chaque élement AttributesTypes et quand ils sont pareil j'affiche la valeur et je recuperere le nom ... possible?