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]Récupérer le texte avant et après un élément


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut [XSLT]Récupérer le texte avant et après un élément
    Bonjour,

    Je n'arrive pas à séparer le texte qui se trouverait de part et d'autre d'un élément...

    En gros, je cherche à transformer un bout d'html en un autre...
    je pars de cela:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <p>
      <u>aaa</u>
      <br />
       bbb<em>ccc</em>bbb
    </p>

    et je souhaiterais arriver à cela:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div>
      <h4>aaa</h4>
      <div>
        bbb<em>ccc</em>bbb
      </div>
    </div>

    Est-ce que c'est possible de récupérer tout ce qui suit le br? (text + éléments)

    Le mieux que j'ai pu faire pour l'instant, c'est de récupérer cela:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div>
      <h4>aaa</h4>
      <div>
        <em>ccc</em>
      </div>

    le xsl que j'ai pour l'instant ressemble à ca:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<xsl:template match="p[child::u]">
    		<div class="nota">
    			<h4><xsl:value-of select="./u"/></h4>
    			<div>
    				<xsl:copy-of select="./br/following-sibling::*"/>
    			</div>
    		</div>
    	</xsl:template>

    Merci d'avance pour votre aide...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Le * dans "./br/following-sibling::*" sert à sélectionner tous les éléments qui suivent l'élément br et qui sont du type noeud! Il faut donc ajouter le type texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<xsl:template match="p[child::u]">
    		<div class="nota">
    			<h4><xsl:value-of select="./u"/></h4>
    			<div>
    				<xsl:copy-of select="./br/following-sibling::*|text()"/>
    			</div>
    		</div>
    	</xsl:template>

  3. #3
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Ah lala...

    Comment j'ai pu passer a coté de ca!!

    Effectivement, ca fonctionne bien. Merci à toi
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

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

Discussions similaires

  1. [XSLT] mettre en couleur un fragment du texte
    Par olbrach dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 29/02/2016, 16h10
  2. [WD-2003] Publipostage - Format Nombre + texte avant et apres
    Par Phabbrrysse dans le forum Word
    Réponses: 2
    Dernier message: 29/09/2010, 15h29
  3. [PHP 5.0] Encadrer une variable par du texte (mettre du texte avant et après)
    Par pasbonte dans le forum Langage
    Réponses: 2
    Dernier message: 05/09/2009, 19h23
  4. [XSLT] Garder Espaces blancs dans un element texte
    Par batotoba dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 15/08/2006, 20h40
  5. [XSLT][saxon] Problème de génération de fichier texte
    Par stepd dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 19/07/2006, 09h03

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