Bonjour,

Je dois rendre dynamique cette partie de code
<xsl:for-each select="document('pbxglobal.xml')//show/filter" >


Actuellement le fichier pbxglobal.xml est en dur dans mon projet, mais c'est un fichier qui est sujets à de nombreux changements.
L'idéal serait d'aller le chercher direcement sur le serveur, mais je ne sais pas comment faire.

J'ai bien pensé à faire
<xsl:for-each select="document('http://10.200.0.40/PBX0/pbxglobal.xml')//show/filter" >

mais le dit serveur a besoin d'un nom d'utilisateur et d'un mot de passe.

Quelqu'un aurait-il une solution?
Bonsoir,

Il faut réaliser la transaction de récupération de pbxglobal.xml en php (ou autre java...) puis te lancer dans le xslt.
Je suis désolé, mais je n'ai aucune compétence en .NET C#, je n'ai jamais travaillé avec ce framework donc je ne pourrais te fournir d'exemple. Mais je suppose que comme sur les autres plateformes il est possible de récupérer un fichier distant ? puis d'en faire un objet XML local ?
C'est bon j'ai trouvé la solution je la donne au cas où ça peut aider:

XmlDocument xml = new XmlDocument();
        XslTransform xsl = new XslTransform();
        XsltArgumentList xslarg = new XsltArgumentList();

        //Load the pbxglobal.xml file and give authentication access.
        string myURL = "http://" + gw_ip + "/PBX0/pbxglobal.xml";
        WebResponse myWebResponse = getPBXFile(myURL);
        BinaryReader br = new BinaryReader(myWebResponse.GetResponseStream());
        long length = myWebResponse.ContentLength;

        // Préparation du flux de sortie
        FileStream outputStream = new FileStream("C:/Documents and Settings/xavier/Site/pbxglobal.xml", FileMode.Create);
        BinaryWriter bw = new BinaryWriter(outputStream);

        // Copie des octets du flux d'entrée vers le flux de sortie
        for (int h = 0; h < length; h++)
        {
            bw.Write(br.ReadByte());
        }
        // Fermeture des flux de données
        br.Close();
        bw.Close();