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] Problème jointure XSL + JavaScript


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Points : 67
    Points
    67
    Par défaut [XSLT] Problème jointure XSL + JavaScript
    Bonjour, j'ai un fichier xsl dans lequel je crée une fonction javascript du nom de domod. Le problème est que ça me met, en guise de message d'erreur :
    "domod is not defined"

    Voici la partie qui crée la fonction :
    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
    <script type="text/javascript">
    function domod(s) {
    if (s == 'en') {
    text = '<xsl:for-each select="/xml/en/item">
    <tr><td class="level"><xsl:value-of select="@level" /></td><td><a href="en/python/{@web}"><xsl:value-of select="@author" /></a></td><td><xsl:value-of select="@title" /></td></tr>
    </xsl:for-each>';
    }
    else if (s == 'fr') {
    text = '<xsl:value-of select="xml/fr" />';
    }
    else if (s == 'es') {
    text = '<xsl:value-of select="xml/es" />';
    }
    else if (s == 'de') {
    text = '<xsl:value-of select="xml/de" />';
    }
    document.getElementById("subject").value = text;
    }
    		</script>
    		</head>
    		<body onload="domod('en')">
    Merci d'avance,

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Ca me fait plutôt penser à une erreur de compil du Javascript...

    Est-ce que vous avez pu enregistrer le résultat de la transformation en fichier pour vérifier ?

    Déjà, je m'assurerais qu'il n'y a pas de saut de ligne dans les chaines de caractères. Ce serait plus sûr de mettre sur une seule ligne le xsl:for-each et pour les xsl:value-of l'appel à la fonction normalize-space permet de remplacer les sauts de ligne par des espaces et de nettoyer le début et la fin de chaine.
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  3. #3
    Membre du Club Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Points : 67
    Points
    67
    Par défaut
    Si vous parlez du code source généré, le voici :
    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
    <script type="text/javascript">
    function domod(s) {
    if (s == 'en') {
    text = '<tr><td class="level">Easy I</td><td><a href="en/python/pro_python.php">Valter</a></td><td>Programming in Python</td></tr>';
    }
    else if (s == 'fr') {
    text = '<tr><td class="level"/><td><a href="fr/python/"/></td><td/></tr>';
    }
    else if (s == 'es') {
    text = '<tr><td class="level"/><td><a href="es/python/"/></td><td/></tr>';
    }
    else if (s == 'de') {
    text = '<tr><td class="level"/><td><a href="de/python/"/></td><td/></tr>';
    }
    document.getElementById("subject").value = text;
    }
    		</script></head><body onload="domod('en')">

  4. #4
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    moi pour mettre du javascript dans mes fichiers .xsl je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script type="text/JavaScript">
      <xsl:text disable-output-escaping="yes">
    	<![CDATA[
     
                  la ton code javscript 
     
              ]]>
       </xsl:text>
    </script>
    Voila dis moi si ca a résolu ton pb
    ++
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  5. #5
    Membre du Club Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Points : 67
    Points
    67
    Par défaut
    Malheureusement non, c'est toujours pareil...

  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 n'avais pas fait attention avant mais ca me rappelle un pb connu !

    Comment vous incluez ce morceau de code ?
    Parce qu'en incluant les morceau de javascript dans des pages preformes, avec XMLhttprequest par exemple, ces bouts de codes ne sont pas pris en compte .
    Pour que ce soit le cas, il faut pratiquer un eval de la transofrmation

    voir
    http://javascript.developpez.com/faq...script.evaluer

  7. #7
    Membre du Club Avatar de Valter
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2008
    Messages : 113
    Points : 67
    Points
    67
    Par défaut
    Non, en fait ce script est simplement placé dans le <head> :
    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
    <html>
    <head>
    <script type="text/javascript">
    function domod(s) {
    if (s == 'en') {
    text = '<xsl:for-each select="/xml/en/item">
    <tr><td class="level"><xsl:value-of select="@level" /></td><td><a href="en/python/{@web}"><xsl:value-of select="@author" /></a></td><td><xsl:value-of select="@title" /></td></tr>
    </xsl:for-each>';
    }
    else if (s == 'fr') {
    text = '<xsl:value-of select="xml/fr" />';
    }
    else if (s == 'es') {
    text = '<xsl:value-of select="xml/es" />';
    }
    else if (s == 'de') {
    text = '<xsl:value-of select="xml/de" />';
    }
    document.getElementById("subject").value = text;
    }
    		</script>
    		</head>
    		<body onload="domod('en')"

Discussions similaires

  1. [SAX] [XSLT] Problème transformation XSL avec SAX et namespace
    Par thierry_b dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 17/12/2008, 14h24
  2. [XSLT]problème attribute xsl style
    Par watchabongo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/02/2008, 14h17
  3. [XSLT] Problème de xsl:output
    Par jbrasselet dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/08/2007, 14h46
  4. [XSLT] Problème PHP + XSL
    Par thefaycal dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/12/2005, 09h16
  5. [XSL/JavaScript]problème d'intégration code JS dans le XSL
    Par Devil666 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/04/2005, 16h36

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