Bonsoir � tous et toutes,

Voil� mon petit probl�me, j'ai un fichier xml contenant des produits avec diff�rentes attributs, l'id�e est d'avoir une page html avec un field dans lequel on entre une valeur qui pourra permettre de filtrer les produits, donc suivant une occurrence d'attribut d�finie par le field. Le probl�me c'est que j'ai l'impression que la variable n'est pas pass�e depuis le .html vers le .xsl dans lequel j'utilise le contenu de la variable, du moins c'est mon id�e. Si vous voulez regarder par vous-m�me :
Fichier html avec javaScript :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Liste des produits par niveau de réapprovisionnement</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
function lister(niv)
{
			// On charge la feuille XSL
            var feuilleXsl = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0"); 
            feuilleXsl.async = false; 
            feuilleXsl.load("styleProd.xsl"); 
 
			// On charge le document XML
            var docXml = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
            docXml.async = false; 
            docXml.load("Produits.xml"); 
 
			// On transforme
            var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0"); 
            xslt.stylesheet = feuilleXsl; 
            var procXsl; 
            // On crée un processeur xslt
            procXsl = xslt.createProcessor(); 
            //On lui soumet le doc xml
            procXsl.input = docXml; 
            //traitement
            procXsl.addParameter('niveau', niv);
            procXsl.transform(); 
            //On récupère la sortie du traitement
			var resultat = procXsl.output;
			var entete = 'Saisir un autre niveau<br /><form name="formulaire"><input name="niv" type="text"><br /><input type="button" name="recherche" value="Recherche" onClick="lister(this.formulaire.niv.value)"></form>';
			//Affichage du résultat
             document.body.innerHTML = entete + resultat;
 
}
</script>
</head>
 
<body>
    <font face="Comic sans ms" size="3">Entrez un niveau de réapprovisionnement</font><br />
    <form name="formulaire">
        <input name="niv" type="text"><br />
        <input type="button" name="recherche" value="Recherche" onClick="lister(this.formulaire.niv.value)">
    </form>
</body>
</html>
Le fichier xsl :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <!--<xsl:param name='niveau'>25</xsl:param>-->
<xsl:template match="/">
 
<html>
<head>
 <style type="text/css">
          table { border-collapse: collapse;
          border: solid black 1px;
          margin-left:150px;}
          td { padding: 3px;
          border: solid black 1px;}
          th { padding: 3px;
          border: solid black 2px;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 
</head>
 
<body>
        <p align="center">
          <font size="4" face="Imprint MT Shadow">Liste filtrée</font>
        </p>
        <table width="800px">
          <TR>
			<TH> Position </TH>
            <TH> Référence </TH>
            <TH> Libellé </TH>
            <TH> N° fournisseur </TH>
            <TH> Catégorie </TH>
            <TH> Quantité/unité </TH>
            <TH> Prix unitaire </TH>
            <TH> Stock </TH>
            <TH> Unités commandées </TH>
            <TH> Niveau réapprovisionnement </TH>
            <TH> Indisponible </TH>
          </TR>
          <xsl:element name="p"><xsl:value-of select= '$niveau' /></xsl:element>
             <xsl:for-each select="dataroot/Produits[Niveau_de_réapprovisionnement=$niveau]"> 
                 <xsl:sort select="Nom_du_produit" 
                          data-type="text" 
                          order="ascending"/>
 
            <tr>
			  <td width="25%" size="12px">
                *<xsl:number value="position()" format="1. "/>
              </td> 
              <td width="25%" size="12px">
                *<xsl:value-of select="Réf_produit"/>
              </td>
              <td width="25%" size="12px">
                *<xsl:value-of select="Nom_du_produit"/>
              </td>
              <td width="25%" size="12px" align="center">
                *<xsl:value-of select="N_fournisseur"/>
              </td>
              <td width="25%" size="12px" align="center">
                *<xsl:value-of select="Code_catégorie"/>
              </td>
              <td width="25%" size="12px">
                *<xsl:value-of select="Quantité_par_unité"/>
              </td>
              <td width="25%" size="12px">
                *<xsl:value-of select="Prix_unitaire"/>
              </td>
              <td width="25%" size="12px">
                *<xsl:value-of select="Unités_en_stock"/>
              </td>
              <td width="25%" size="12px" align="center">
                *<xsl:value-of select="Unités_commandées"/>
              </td>
              <td width="25%" size="12px" align="center">
                *<xsl:value-of select="Niveau_de_réapprovisionnement"/>
              </td>
              <td width="25%" size="12px" align="center">
                *<xsl:value-of select="Indisponible"/>
              </td>
            </tr>
 
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
 
</xsl:stylesheet>
J'ai d�j� essayer pas mal de choses avec �a mais rien n'y fait. Lorsque j'entre une valeur pour la variable utilis�e dans le xsl, lorsque j'ouvre le .xml nickel j'ai la liste filtr�e...
Merci d'avance pour votre aide,
Arkh.