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] Modification d'une position de Sommaire sous XSLT


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Par défaut [XSLT] Modification d'une position de Sommaire sous XSLT
    Bonjour,
    Celui qui a fait le xslt sur lequel je travaille, a fait un sommaire et pour l'appeler dans le xml de sortie, il a déclarer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <!-- Crée le sommaire si ce noeud est celui de plus haut niveau -->
    <xsl:if test="..=/ ">
    <xsl:call-template name="Sommaire"/>
    </xsl:if>
    alors moi je ne veux pas que le sommaire s'affiche sur le noeud le plus haut mais juste après une balise qui s'appelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Page_perso>...</Page_perso>
    qui contient des informations que je dois récupérer avant le sommaire. En gros le fichier actuel après transformation donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <Assemblage>
    <TDMPAGE>...</TDMPAGE>
    <Page_perso>...</Page_perso>
    <Chapitre>...</Chapitre>
    <Section>...</Section>
    Etc...
    </Assemblage>
    Et moi je veux une sortie comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <Assemblage>
    <Page_perso>...</Page_perso>
    <TDMPAGE>...</TDMPAGE>
    <Chapitre>...</Chapitre>
    <Section>...</Section>
    Etc...
    </Assemblage>

  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
    pour le test tu fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:if test="Page_perso ">
    <xsl:call-template name="Sommaire"/>
    </xsl:if>
    et tu le plasse aprés avoir recuperer tes infos de "Page_perso"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Par défaut
    Justement c'est là où ça m'embête parce que je n'ai que ça pour appeler tout le contenu:
    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
     
    <xsl:template match="*">
    <xsl:element name="{name()}">
    <xsl:for-each select="@*">
    <xsl:attribute name="{name(.)}">
          <xsl:choose>
          <xsl:when test="name(.)='colwidth'">
           <xsl:value-of select="translate(.,'cm','*')"/>
             </xsl:when>
              <xsl:otherwise>
                <xsl:value-of select="."/>
               </xsl:otherwise>
                  </xsl:choose>
                  </xsl:attribute>
             </xsl:for-each>
             <!-- Crée le sommaire si ce noeud est celui de plus haut niveau-->
             <xsl:if test="..=/ ">
    	<xsl:call-template name="Sommaire"/>
    	</xsl:if> 
             <!-- Descente dans les sous noeuds -->
             <xsl:apply-templates/>
    </xsl:element>
    alors est ce qu'il faut que je fasse des template match pour chacun de mes éléments? ou c'est pas nécessaire

  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 n'ai pas tout ton xsl, mais moi je le mettrait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:if test="name(.) ='Page_perso'">
    <xsl:call-template name="Sommaire"/>
    </xsl:if>
    juste aprés ta balise fermante :


  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Par défaut
    Ben en fait le truc c'est que ça n'a pas marché c'est pour ça que je l'ai pas fini.J'ai testé ce qui suit en enlevant le xsl:test de mon xslt mais toujour rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsl:template match="Assemblage_Gamme">
    <Assemblage_Gamme>
    <xsl:apply-templates select="Page_perso"/>			
    <xsl:call-template name="Sommaire"/>
    <xsl:apply-templates select="*[name() != 'Page_perso' and name() != 'Sommaire']"/>							
    </Assemblage_Gamme> 
    </xsl:template>
    Dieu sait que c'est tjr d'actu donc si tu peux faire quelq choz, Merci

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    il se passe quelques chose quand même?

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/08/2010, 09h20
  2. Modification d'une application sous Excel language Vba
    Par Mézeau Emilien dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/04/2008, 09h13
  3. Réponses: 7
    Dernier message: 27/04/2007, 10h01
  4. [XSLT]Trouver un noeud avec une condition sur ses sous-noeuds
    Par enguerran dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/02/2007, 11h00
  5. [XSLT] [JavaScript] tri + affichage à partir d'une position
    Par Fabouney dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/11/2006, 08h46

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