Bonjour tout le monde,
Voila j’ai un petit soucis concernant une recherche dans une feuille de données XML. Mon maître de stage me demande d’y retrouver des valeurs minimum et maximum, or après maintes lectures de cours et didacticiels sur internet, et armé de mon super bouquin en allemand, je me retrouve dans la nécessité de faire appel au public…
Données du problème :
Structure des données :
<test>
- <Aktion>
<AktionName>FindDevice</AktionName>
<Result>True</Result>
<Duration>265</Duration>
<Object>PC877_19_Touch_HmiScadaRT</Object>
</Aktion>
- <Aktion>
La il y a tout plein de nœud «Action »
</Aktion>
</test>
Je dispose également d’un tableau dans lequel on a dans une premiere colonne les noms des différents types d’AktionName, et en parametre (dans la meme ligne) le nombre d’appel a cette Action et la valeur moyenne de leur valeur «Duration » . Mon travail consiste à trouver pour chaque AktionName, la valeur minimale et la valeur maximale du champ Duration.
Voila le style de ce que je suis en train d’essayer :
- <xsl:variable name="strActFct">
<xsl:value-of select="." />
</xsl:variable>
- <xsl:variable name="strActObj">
<xsl:value-of select="../Object" />
</xsl:variable>
- <xsl:variable name="ActMinZeit">
<xsl:value-of select="/test/Aktion[AktionName = string($strActFct) and not(. > /test/Aktion/Duration)]/Duration" />
</xsl:variable>
- <xsl:variable name="ActMaxZeit">
<xsl:value-of select="/test/Aktion[AktionName = string($strActFct) and not(. < /test/Aktion/Duration)]/Duration" />
</xsl:variable>
Ici je pense mettre dans la variable « ActMinZeit » (resp ActMaxZeit) la valeur minimum de la durée Duration pour chaque type d’Action (grace encore a mon avis a $ strActFct).
Je vous montre ci apres l’utilisation que je fais de mes deux variables.
- <td>
- <!--
Minimum
-->
<xsl:value-of select="$ActMinZeit" />
</td>
- <td>
- <!--
Maximum
-->
<xsl:value-of select="$ActMaxZeit" />
</td>
Voila, donc les problèmes répertoriés sont de deux types : la premiere chose est que les valeurs minimum sont presque toutes bonnes mais en fait pas toutes, et surtout que la valeur maximum qui est rendu est exactement la meme que la minimum et ce pour chaque type d’actions ???
Merci à tout le monde au moins pour le temps passé a lire et si il y a une aide précieuse qui arrive... (si vous avez besoin d'autre copier coller, il suffit de demander mais j'avais pas envie de trop polluer en balancant tout comme un porki)
Partager