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 :

[XSL] utilisation des templates


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut [XSL] utilisation des templates
    Bonjour.

    Je m'initie à XML/XSL pour mon travail et je veux utiliser les templates pour ne pas répéter plusieurs fois les mêmes balises HTML incluses dans le XSL.

    Seulement j'obtiens l'erreur suivante :
    Warning: DOMDocument::load() [function.load]: Opening and ending tag mismatch: template line 55 and table in
    et je n'arrive pas à faire mieux que de fermer une balise <xsl:template name="nom">....

    Je pense que mon problème vient de la balise de femeture de la template..

    Merci.

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    tu n'as au moins pas un template dans un autre template? Si oui tu n'as pas le droit!

    tu n'as non plus pas le droit de mettre une balise ouvrante et refermé une autre aveant que celle ci soit refermé

    ex de la situation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <toto><Henry></toto></Henry>
    Si ce n'est pas ca sa serait bien si tu nous postais ton xml et xsl (en partie ou complet s'ils sont petits)!


    ++

    Thierry

  3. #3
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Salut virgul, mes templates étaient imbriqués.

    En gros je veux faire :

    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
    <xsl:template name="debutTab">
    <h2>Coucou</h2>
    <table>
    </xsl:template>
     
    <xsl:template name="contenuTab">
    <tr><td></td></tr>
    </xsl:template>
     
    <xsl:template name="finTab">
    </table>
    </xsl:template>
     
     
    <!-- TRAITEMENT -->
     
    <xsl:call-template="debutTab" />
    <xsl:call-template="contenuTab" />
    <xsl:call-template="finTab" />

  4. #4
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Comme ca ca ne va pas car tu as des balises non fermante (Cf mon post d'avant)!
    ceci ne pourra donc pas être validé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:template name="debutTab"> 
    <h2>Coucou</h2> 
    <table> 
    </xsl:template>
     
    <xsl:template name="finTab"> 
    </table> 
    </xsl:template>
    la balise table s'ouvre et se referme pas avant que le premier template ne soit fermé!


    il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <xsl:template name="table"> 
    <h2>Coucou</h2> 
    <table> 
    <xsl:apply-templates mode="contenuTab"/>
    </table>
    </xsl:template> 
     
    <xsl:template name="contenuTab"> 
    <tr><td></td></tr> 
    </xsl:template> 
     
    <!-- TRAITEMENT --> 
    <xsl:apply-templates mode="table"/>
    ++

    Thierry

  5. #5
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Merci, j'obtimiserai mon code plus tard.

    J'ai une autre question XSL si tu veux bien m'aider (cf forum XML/XSL http://www.developpez.net/forums/viewtopic.php?t=431462 ).

    Merci de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation des templates
    Par vanitom dans le forum MFC
    Réponses: 21
    Dernier message: 01/08/2007, 11h07
  2. [XSL]portée des templates??
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/02/2006, 10h53
  3. [Xml/XSl] utiliser des fonction vb
    Par ekmule dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/01/2006, 17h28
  4. Utilisation des templates
    Par mikky dans le forum C++
    Réponses: 1
    Dernier message: 14/09/2005, 12h59
  5. [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

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