IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Fichier xsl et paramètre...


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Points : 158
    Points
    158
    Par défaut Fichier xsl et paramètre...
    Bonjour à tous,

    Voilà, j'aurais voulu savoir s'il était possible de passer un paramètre à un fichier xsl précisant quels élément de mon fichier XML doivent être afficher, la valeur du param étant défini dynamiquement...

  2. #2
    Membre confirmé Avatar de Perceval
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2003
    Messages : 355
    Points : 464
    Points
    464
    Par défaut
    C'est ce que j'essaye de faire.... cf ce post

    Pour l'instant, j'ai pas encore trouvé de solution.

    En sachant que les paramètres ne peuvent pas être transmis par l'URL en XSLT, cf la FAQ XML.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 34
    Points : 39
    Points
    39
    Par défaut
    Disons que le seul moyen que je vois pour faire ça (mais bon ça veut rien dire, y'a sûrement mieux : mes connaissances sont relativemlent limitées en XSL), c'est de mettre votre param dans un fichier xml que vous appelerez dans votre XSL (avec la fonction document) afin de récupérer son contenu, c'est-à-dire votre fameux paramètre.

    Mais bon il faut que vous alliez mettre votre paramètre dans un fichier xml, ce qui est pas forcément très pratique ...

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    une petite précision : le paramètre est passé au processeur XSLT qui traite la feuille de style, pas à la feuille de style elle-même. Ca paraît être une nuance inutile, mais en fait c'est par là qu'il faut chercher. S'il s'agit d'une transformation faite en local par le navigateur, la FAQ du forum donne une réponse pour IE. S'il s'agit d'une transformation faite côté serveur, la documentation du langage de script utilisé donnera la solution. S'il s'agit d'une transformation off-line, par appel direct au processeur XSLT, la documentation du processeur sera la clé, etc.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Points : 158
    Points
    158
    Par défaut
    Voilà, je pensais à un truc... admettons qu'en fonction du paramètre défini par l'utilisateur je créé un fichier XML dynamiquement avec le DOM. Ayant un fichier xsl prédéfini, je peux alors demander l'affichage de mon XML dynamique selon le xsl... Ca pourrait marcher non ???

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par Royd938
    Voilà, je pensais à un truc... admettons qu'en fonction du paramètre défini par l'utilisateur je créé un fichier XML dynamiquement avec le DOM. Ayant un fichier xsl prédéfini, je peux alors demander l'affichage de mon XML dynamique selon le xsl... Ca pourrait marcher non ???
    Bien sûr. Les moyens qu'il faudra mettre précisement à l'oeuvre dépendent cependant du langage et des outils que tu utilises.

  7. #7
    Membre confirmé Avatar de Perceval
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2003
    Messages : 355
    Points : 464
    Points
    464
    Par défaut
    Citation Envoyé par GrandFather
    Bien sûr. Les moyens qu'il faudra mettre précisement à l'oeuvre dépendent cependant du langage et des outils que tu utilises.
    Euh.... en XHTML et Javascript.... c'est quand même faisable ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Points : 158
    Points
    158
    Par défaut
    Selon moi, il faut utiliser un langage côté serveur (C#, php, pyton...)...

  9. #9
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par Perceval
    Citation Envoyé par GrandFather
    Bien sûr. Les moyens qu'il faudra mettre précisement à l'oeuvre dépendent cependant du langage et des outils que tu utilises.
    Euh.... en XHTML et Javascript.... c'est quand même faisable ?
    C'est dans la FAQ.

  10. #10
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    petit detail mais qui a son importance, la plupart des processeurs permettent , via les instructions du langages utilises, de passés des collections de noeunds (et leur arborescence) en parametre, cela peut donc resoudre un certains nombre de probleme

    exemple
    en javascript


    fichier xml param

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    	<a>
    		<b>1</b>
    		<c>2</c>
    	</a>
    	<a>
    		<b>3</b>
    		<c>4</c>
    	</a>
    </root>
    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
     
    <script type="text/javascript"> 
            function proc() { 
     
     
                var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0"); 
                var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0"); 
                var xslProc; 
                xslDoc.async = false; 
                xslDoc.load("test.xslt"); 
                xslt.stylesheet = xslDoc; 
     
                var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
                xmlDoc.async = false; 
                xmlDoc.load("test.xml"); 
     
     
                var xmlpara = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
                xmlpara.async = false; 
                xmlpara.load("para.xml"); 
     
     
                xslProc = xslt.createProcessor(); 
                xslProc.input = xmlDoc; 
     
               param=xmlpara.selectnodes("//a")
     
     
                xslProc.addParameter("arbre", param); 
     
                xslProc.transform(); 
                document.body.innerHTML=xslProc.output; 
            } 
          </script>
    Au parametre arbre de la feuille xslt on pourra appliquer les xpath souhaité, il est considere comme une collection de noeud

Discussions similaires

  1. [XSL] Plusieurs fichiers xsl
    Par ToxiZz dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 10/01/2006, 13h28
  2. [XML/XSL]Le page générée ne correspond pas à mon fichier XSL
    Par JavaEli dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/11/2005, 04h16
  3. Est-il possible d'utiliser des fichiers xsl en cascade ?
    Par Faekk dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/08/2005, 12h34
  4. [XSL] Utiliser des CSS dans un fichier XSL
    Par alainme dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 13/04/2005, 10h47
  5. Un fichier .bmp comme paramètre d'une Procédure stockée
    Par FONKOU dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/10/2004, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo