Bonjour,
J ai une erreur dans mon code xsl et je ne sais pas comment savoir quelle valeur a une variable.
Voici le code:

<xsl:template match="user">
   <br>1</br>
      <xsl:if test="@type='ep'">
         <br>2</br>   
            <xsl:if test="@e164 &gt; 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:

- <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.

Comment puis-je voir quelle valeur $loc a? J'utilise Visual Web Developer C#. J'espère que quelqu'un peut m'aider.
Alors j'ai finalement trouvé le problème par moi-même et même si j'ai pas reçu l'aide espérée si ça peut aider quelqu'un qui se retrouverait dans la même situation voici ce qui posait problème:
Cest tout bête, mais pour quelqu'un qui doit reprendre le code de quelqu'un d'autre sans meme connaitre le langage ça saute pas aux yeux. En fait en Xslt les variables ne peuvent être modifiées ce qui est un peu contradictoire pour des "variables" donc

<xsl:variable name="phone_off">none</xsl:variable>


phone_off ne peut donc pas être modifiée le truc c'est de pas utiliser variable mais param



<xsl:param name="loc"></xsl:param>


loc pourra être modifié depuis votre page aspx
Voilà.
Bonjour

Les paramètres ne peuvent pas être modifiés dans le code XSLT, à l'identique des variables.
En revanche il est possible de passer des paramètres au processeur XSLT lors de son appel pour être exploités dans une transformée, comme tu as prévu de le faire. Pour la déclaration de ton paramètre loc, tu pourrais utiliser la syntaxe :
<xsl:param name="loc"/>

Pour visualiser une variable ou un paramètre il suffit de l'écrire dans l'arbre résultat, c'est souvent suffisant. Par exemple :
<xsl:value-of select="$la-variable-mysterieuse" />

Sinon un peu plus sophistiqué :
<xsl:message
  terminate = "yes" | "no">
  <!-- un template de code XSLT, comme par exemple écrire une variable -->
</xsl:message>
Le processeur XSLT doit produire un message s'il rencontre l'élément message, il arrête ou continue le traitement en fonction de l'attribut terminate. L'arbre résultat n'est pas pollué par le message.