Bonjour,
J ai une erreur dans mon code xsl et je ne sais pas comment savoir quelle valeur a une variable.
Voici le code:
1 2 3 4 5 6 7 8 9 10 11 12
| <xsl:template match="user">
<br>1</br>
<xsl:if test="@type='ep'">
<br>2</br>
<xsl:if test="@e164 > 0">
<br>3</br>
<xsl:if test="@loc=$loc ">
<br>4</br>
<xsl:if test="grp[@name='Reception']">
<br>5</br>
<xsl:if test="not(contains(@cn,'_'))">
<br>6</br> |
et les premières données de mon fichier xml sont:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| - <user cn="Appel" guid="58255836e909d311bc1c00903306039e" e164="0" h323="Appel" loc="Flon" filter="normal" type="gw">
<pseudo type="trunk" />
<ep type="GW" addr="127.0.0.1" port="16392" product="innovaphone IP800" version="V5.01 sr1-hotfix [05-5874]" h323="Appel" time="609098" lic="true" />
</user>
- <user cn="Carsten Buchenau" guid="ea1453a6e909d311bd6d0090330606c4" e164="211" h323="Carsten" pwd="********" hw-id="IP200-03-33-c0" loc="Flon" filter="normal" cd-filter="normal" type="ep">
<grp name="Reception" />
<grp name="ec-3127671" />
<grp name="ec-3127674" />
<grp name="edifice-com" mode="active" />
<grp name="tapi" mode="active" />
<ep type="EP" addr="10.200.0.32" port="16388" product="innovaphone 200" version="V5.01 sr1-hotfix [05-5874]" h323="IP200-03-33-c0" time="438391" lic="true" />
</user>
- <user cn="Carsten PC" guid="4d77aa47e909d311ad5e00903306039e" e164="280" h323="Carsten PC" loc="Flon" filter="normal" type="gw">
<ep type="EP" addr="10.200.0.59" port="1041" product="www.te-systems.de XCAPI" version="2.9.27 (pre-release)" e164="280" h323="Carsten PC" time="1001779" lic="true" />
</user>
- <user cn="Christel" guid="6339b76ce909d31185c300903306039e" e164="260" h323="Christel" loc="Rumine" filter="normal" type="ep">
<grp name="Central" />
</user> |
Les affichage de debug me montre que la plupart des tests s'arretent au <br>3</br> donc le test suivant <xsl:if test="@loc=$loc> ne passe pas alors qu'il devrait.
Il semblerait que la variable $loc ne contienne pas la valeur que je lui passe depuis mon fichier .aspx mais je ne sais pas comment en être sûr et comment solver le problème car mon passage de valeur à l'air d'être fait correctement enfin comme suit:
1 2 3 4
|
string loc = "Flon";
xslarg.AddParam("loc", "", loc);
xsl.Transform(xml, xslarg, Response.Output); |
et dans mon fichier xsl je l'ai initialisée comme suit:
<xsl:variable name="loc"></xsl:variable>
Je débute en programmation web et avec l'utilisation des xsl sheets je suis dans une impasse là j'espère que quelqu'un pourra me débloquer
Partager