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 actif 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
    Points : 294
    Points
    294
    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 éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    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 éminent
    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
    Points : 8 339
    Points
    8 339
    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)

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    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 éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    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 actif 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
    Points : 294
    Points
    294
    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 é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,

    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...

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