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]forcer l'application de tous les templates


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut [XSL]forcer l'application de tous les templates
    Bonjour,

    J'ai un fichier XSL qui applique deux templates sur une même balise (dans mon exemple, le 1er pour une couleur et le second pour une font-size). Le problème c'est que c'est le dernier template qui est effectivement appliqué et les précédents ne sont pas pris en compte.
    Comment peut-on forcer que tous les templates soient appliqués sur la balise en question ?


    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="tag1">
    <div style="color=green;">
     
      <TABLE class="status">
          <TH width="40%"></TH><TH width="60%"></TH>
          <TR>
              <TD><b> <xsl:text> text1 : </xsl:text> </b> </TD>
          </TR>
     
          <TR>
            <TD><b> <xsl:text> text2 : </xsl:text> </b> </TD>    
          </TR>
     
          <TR>
            <TD><b><xsl:text> text3 : </xsl:text></b></TD>
          </TR>        
     
      </TABLE>
     
      </div>
    </div>
    </xsl:template>
     
    <xsl:template match="tag1">
    <div style="font-size=20pt;">
     
        <TABLE class="status">
           <TH width="40%"></TH><TH width="60%"></TH>
           <TR>
              <TD><b> <xsl:text> text1 : </xsl:text> </b> </TD>
           </TR>
     
           <TR>
            <TD><b> <xsl:text> text2 : </xsl:text> </b> </TD>    
           </TR>
     
           <TR>
             <TD><b><xsl:text> text3 : </xsl:text></b></TD>
           </TR>        
     
       </TABLE>
     
      </div>
    </div>
     </xsl:template>
     
    </xsl:stylesheet>
    Merci

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    utilise "mode"....un truc du genre :

    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
     <?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:template match="/">
    <xsl:apply-templates select="tag1"/>
    <xsl:apply-templates select="tag1" mode="style"/>
    </xsl:template>
     
    <xsl:template match="tag1">
    <div style="color=green;">
     
      <TABLE class="status">
          <TH width="40%"></TH><TH width="60%"></TH>
          <TR>
              <TD><b> <xsl:text> text1 : </xsl:text> </b> </TD>
          </TR>
     
          <TR>
            <TD><b> <xsl:text> text2 : </xsl:text> </b> </TD>    
          </TR>
     
          <TR>
            <TD><b><xsl:text> text3 : </xsl:text></b></TD>
          </TR>        
     
      </TABLE>
     
      </div>
    </div>
    </xsl:template>
     
    <xsl:template match="tag1" mode="style">
    <div style="font-size=20pt;">
     
        <TABLE class="status">
           <TH width="40%"></TH><TH width="60%"></TH>
           <TR>
              <TD><b> <xsl:text> text1 : </xsl:text> </b> </TD>
           </TR>
     
           <TR>
            <TD><b> <xsl:text> text2 : </xsl:text> </b> </TD>    
           </TR>
     
           <TR>
             <TD><b><xsl:text> text3 : </xsl:text></b></TD>
           </TR>        
     
       </TABLE>
     
      </div>
    </div>
     </xsl:template>
     
    </xsl:stylesheet>

  3. #3
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    en gros tu veux que les deux templates soient automatiquement fusionnés ? Cherche pas... c'est impossible, il te faut le faire à la main (en plus ça sera beaucoup plus clair et beaucoup plus léger)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    je confirme ce qu'a dit "swong"...j'ai peut être mal compris ce que tu voulais.....de plus je ne voix pas l'utilité de faire des template ?. pourquoi tu ne fais pas q'un template? si tu pense que c techniquement infaisable, tu peux essayer de nous dire ce que tu veux...peut être quon arrivera à le faire sans être obligé de faire deux patterns...


    pourquoi tu ne fais pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <div style="font-size:20pt;color:green">
    de plus quand on utilise "style ", je pense qu'on met ":" au lieu de "="...je trouve aussi que tu as plus de <div> fermant que de <div> ouvrant....

  5. #5
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    oups!!!!! "Swoög" "Swoög" mais quel idée d'avoir un pseudo pareil

    sinon ça veut dire quoi?

  6. #6
    Membre éclairé Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Par défaut
    Merci pour vos remarques...
    Il faut donc que je cherche comment faire autrement car ce fichier xsl est généré de manière automatique et je ne voulais pas modifier cette génération...

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

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

    Citation Envoyé par snoop
    Il faut donc que je cherche comment faire autrement car ce fichier xsl est généré de manière automatique et je ne voulais pas modifier cette génération...
    Dans ce cas tu peux écrire du code XSLT pour modifier le code XSLT généré automatiquement...
    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

Discussions similaires

  1. [Validator] Forcer la validation de tous les groupes
    Par leminipouce dans le forum Hibernate
    Réponses: 1
    Dernier message: 27/10/2011, 16h35
  2. Réponses: 1
    Dernier message: 24/06/2010, 08h29
  3. lancer une application sur tous les postes
    Par Moine dans le forum Développement
    Réponses: 0
    Dernier message: 21/11/2007, 18h25
  4. VB6 : Application prend tous les resources système !
    Par microdeb dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 12/07/2006, 12h08

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