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 :

[xslt]insérer javascript dans une feuille


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut [xslt]insérer javascript dans une feuille
    Salut,
    j'ai voulu insérer du code javascript dans une feuille xslt mais j'ai pas pû. Pouvez vous m'aider.
    Voici ce que j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <SCRIPT language='JavaScript'>
    .....
    .....
    </SCRIPT>
    Merci
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  2. #2
    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 : 47
    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
    Tu as besoin que le javascript soit utilise lors de la transformation XSLT ou seulement present sans le resultat final

    pour le second cas, tu dois avoir un pb de caractere:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <SCRIPT language="JavaScript"> 
    <![CDATA[
    ......
    ]]>
     
    </SCRIPT>

  3. #3
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut insérer javascript dans une feuille xsl
    salut,
    J'ai besoin que le javascript soit utilise lors de la transformation XSLT
    Svp encore de l'aide.
    jai esayé cette solution mais ça pas marché.
    Merci
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  4. #4
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut insérer javascript dans une feuille xsl
    salut,
    voici ce que contient mon code.

    <xsl:template match="/">
    <html>
    <head>
    <script language="Javascript"><![CDATA[
    var s='fr';
    ]]></script> </head>
    <body >
    <input type="button" value="test" onclick="javascript:alert(s);"/>
    </body></html>
    </xsl:template>

    Svp de l'aide
    Merci
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  5. #5
    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 : 47
    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
    Normal, si ton javascript dois être utilise lors de la creation de tafeuille tu dois faire appel a des fonctions de ton processeur, xslt seul ne le permet pas.
    Vu que la syntaxe pour faire appel a un langage exterieur varie suivant le processeur utilise (windows:msxml, php:sablotron, javaalan,xerces,saxon... etc....), il est necessaire de savoir lequel tu utilise avant toute chose

  6. #6
    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 : 47
    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
    Je vais regarder mais je ne vois pas en quoi ton javascrip^t intervient dans ton xslt ici

  7. #7
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut insérer javascript dans une feuille xsl
    salut,
    cet exemple c'est juste un test que je voudrais faire marcher, mais le javascript que je voudrais utiliser sert à rendre les colonnes du tableau résultat de xslt triable.
    Merci
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  8. #8
    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 : 47
    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
    a part que j'aurais plutot mis ma balise script dans le body ton exemple marche chez moi.
    Pour faire un tri nul besoin d'activer du javascript dans le xslt, utiliser des parametre voir ici:
    http://www.developpez.net/forums/vie...=90007&start=3

  9. #9
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut activer javascript dans une feuille de style xslt
    salut,
    Svp, j'ai besoin du javascript dans la feuille résultat du xslt, alors pouvez vous me renseigner comment activer le javascript dans une feuille xslt.
    Merci
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  10. #10
    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
    En fait, ce n'est pas une question d'activation... c'est juste une question de bien placer son script... Je met du javacript de la même façon que toi et je n'ai pas de pb...
    Save a tree... Eat a beaver

  11. #11
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut activer javascript dans une feuille de style xslt
    salut,
    Voici mon code. Svp, pouvez vous m'aider à trouver le problème

    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
    <?xml version="1.0" encoding="UTF-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
       <xsl:output method="html" indent="yes"/> 
     
     
    <xsl:variable name="nbre" select="count(//doc[$dateDebut &lt;= @CreationDate and $dateFin &gt;= @CreationDate and contains($state,@Etat) and contains($type,@ClassPS) and contains($conf,@NameConfDocPS)])"/>
    <xsl:template match="docs">
    <html>
    <head>
     
    <script type="text/javascript" src="sorttable.js"></script>
    <script type="text/javascript"> <![CDATA[var t2=new SortTable("t2");var s="fr";]]></script> </head>
    <body >
    <input type="button" value="test" onclick="javascript:alert('gggg');alert(s);"/>
     
    <table align="center" width="100%" >
    <tr >
     
    <th align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,1);alert(t2.names);'>Nr</A></th>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,2)'>Délai</A></td>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,3)'>Date du courrier</A></td>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,4)'>Expéditeur</A></td>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,5)'>Objet</A></td>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,6)'>Responsable</A></td>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,7)'>Annotation</A></td>
     
    <td align="center" style="border:#B7B697 1px solid;FONT-WEIGHT: bold; COLOR: #7F7E57;font:Tahoma;font-size:10px;BACKGROUND-COLOR: #F9F9F2;"><A class='sort' href='javascript:SortRows(t2,8)'>Etat</A></td>
     
    </tr>
     
    <script language="Javascrip"><![CDATA[t2.AddColumn("Nr","","left","");
    t2.AddColumn("delai","","left","");
    t2.AddColumn("date","","left","");
    t2.AddColumn("exp","","left","");
    t2.AddColumn("objet","","left","");
    t2.AddColumn("resp","","left","");
    t2.AddColumn("annot","","left","");
    t2.AddColumn("etat","","left","");]]></script>
     
    <xsl:apply-templates select="//doc" />
    <script language="Javascript"><![CDATA[t2.WriteRows();]]></script>
     
    </table></body></html>
    </xsl:template>
     
    <xsl:template match="//doc">
     
    <xsl:if test="$dateDebut &lt;= @CreationDate and $dateFin &gt;= @CreationDate and contains($state,@Etat) and contains($type,@ClassPS) and contains($conf,@NameConfDocPS)">
    <script language="Javascript"><![CDATA[t2.AddLine(<xsl:value-of select="@BOIDPS"/>,
    <xsl:value-of select="@delai"/>,
    <xsl:value-of select="@Parentdate"/>,
    <xsl:value-of select="@ParentExpPS"/>,
    <xsl:value-of select="@ParentSubjectPS"/>,
    <xsl:value-of select="@ResponsablePS"/>,
    <xsl:value-of select="@SubjectPS"/>,
    <xsl:value-of select="@Etat"/> );
    t2.AddLineSortData(<xsl:value-of select="@BOIDPS"/>,
    <xsl:value-of select="@delai"/>,
    <xsl:value-of select="@Parentdate"/>,
    <xsl:value-of select="@ParentExpPS"/>,
    <xsl:value-of select="@ParentSubjectPS"/>,
    <xsl:value-of select="@ResponsablePS"/>,
    <xsl:value-of select="@SubjectPS"/>,
    <xsl:value-of select="@Etat"/>);
    t2.AddLineProperties("border:#B7B697 1px solid; font:Tahoma;font-size:10px;");]]></script>
    </xsl:if>
    </xsl:template>
    </xsl:stylesheet>
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  12. #12
    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 : 47
    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
    Si tu expliquais le resultat que tu souhaites on pourrait t'aider, parce que ton code....
    L'utilisation d'un autre langage a l'interieur d'un XSLT ne se fait que pour des raisons exceptionnelle, et un tri n'en ai pas une.
    De + l'utilisation est complexe puisqu'elle sort du langage et s'adresse au option du processeur.On a donc une syntaxe differente suivant les processeur.
    Donc
    1) Explique ce que tu veux faire , je pense qu'il n'y a nul besoin de javascript pour arriver a un resultat identique, les tris se font tres bien en passage de parametre
    2)Si , par hasard ce n'etait pas le cas,dis nous avec quel processeur tu travaille comme deja demande ici
    http://www.developpez.net/forums/vie...light=#2366193

    Je vais finir par me lasser de repeter la meme chose

  13. #13
    Membre du Club Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Points : 48
    Points
    48
    Par défaut activer javascript dans une feuille de style xslt
    salut,
    Tout d'abord je m'excuse si je t'ai géné.Mon objectif est d'avoir une datagrid comme ceci http://www.mattkruse.com/javascript/...ble/index.html
    ce que j'ai besoin d'intégrer un code javascript dans le résultat du xsl
    Merci
    - - - - - - - - - - - - - - - - - - -
    Hichem Hbaieb
    Software Engineer
    Tadis
    - - - - - - - - - - - - - - - - - - -

  14. #14
    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,

    ça ne risque pas de fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <![CDATA[t2.AddLine(<xsl:value-of select="@BOIDPS"/>,
    Tout ce qui est inclus dans un <![CDATA[...]]> n'est pas interprété par le parseur XML, le (<xsl:value-of select="@BOIDPS"/> ne peut donc pas s'exécuter...

    Tu aurais pu t'en rendre facilement compte en faisant un "afficher la source", et consulter le code HTML résultant de la transformation.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  15. #15
    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 : 47
    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
    C'est ce qui me semblait, et pour la deuxieme fois, pour un tri le javascript n'est pas utile(en utilisation) DANS la feuille xslt, on le laisse a l'exterieur dans la page html et grace au pocesseur xslt , en changeant le parametre , cela permet de faire des tris sur table.
    comme ici:
    http://www.developpez.net/forums/vie...=90007&start=3
    plus simple et surtout cela a en plus l'avantage de gerer plus facilement des processeurs xslt different.

    On charge une apge avec le tableau dans un div par exemple.Et a chaque event onclick on change le innerhtlm de la div en passant un nouveau parametre a la feuille xslt.
    Enfin l'emploi de balise javascript dans un XSLT est a bien etudier.
    Hors un chargement complet de la page,certains navigateurs n'effectue le code javascript que lors d'un appel exterieur et posterieur au chargement.

Discussions similaires

  1. [XSLT] Caractères spéciaux dans une feuille de transformation
    Par lescarphe dans le forum XSL/XSLT/XPATH
    Réponses: 16
    Dernier message: 08/07/2009, 09h36
  2. Récupération d'une variable javascript dans une feuille XSL
    Par drakkar64 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 21/08/2008, 17h56
  3. Réponses: 10
    Dernier message: 02/02/2007, 16h00
  4. [XSLT] Afficher du contenu HTML dans une feuille XSL
    Par krapno dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/10/2006, 14h07
  5. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23

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