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] mettre en couleur un fragment du texte


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Par défaut [XSLT] mettre en couleur un fragment du texte
    Bonjour à tous,

    J'ai lu quelques de vos discussions, ça fait du bien de pouvoir compter sur votre aide, ne vous découragez pas.

    voici mon problème,
    soit un fragment du fichier xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <contexte>
    <Turn speaker="spk1 spk2">
    <Who nb="1"/>
    mais vous <adverbe>personnellement</adverbe> vous ne le faites pas non
    <Who nb="2"/>
    oui i(l) y en a qui en mettent moi non non
    <Who nb="1"/>
    <Who nb="2"/>
    </Turn>
    </contexte>
    je voudrais afficher en même temps le contenu du <contexte> avec le contenu du <adverbe> en rouge.
    ex. mais vous personnellement vous ne le faites pas non
    J'ai reussi l'afficher en rouge avant ou après le contexte mais pas dans le texte. Comment faire ???
    Merci d'avance

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Qu'est-ce qui est utiliser pour la mise en forme ? CSS ? XSLT ?

    Dans quel contexte ? Le XML est exploité directement ? Transformé en (X)HTML ? etc.

    Autrement dit, il faudrait un petit peu plus de détail s'il te plaît
    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)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Par défaut
    Merci de s'intéresser à mon problème,

    La feuille de style est en xslt.
    On travaille directement sur un fichier xml.
    Le résultat est en html.
    J’édite avec Cooktop.

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Dans ce cas, il te suffit de générer pour cette balise, le code HTML pour afficher en rouge...
    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)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Par défaut
    pas si simple, il faut afficher le mot (adverbe) en rouge dans le texte et non pas avant ou après. Voici mon code, je pense qu'il est mal écrit, mais je ne vois pas où.

    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
    <xsl:template match="Trans">
    <html>
    <xsl:for-each select="contexte">	
    <b><xsl:value-of select="."/></b><br/><br/>	
    </xsl:for-each>	
    </html>		
    <xsl:apply-templates select="contexte/Turn"/>
    </xsl:template>
     
    <xsl:template match="contexte/Turn">	
     
    <html>	
    <font color="#FF0000"><i>
    <xsl:value-of select="./adverbe"/></i></font><br/>						
    </html>	
    </xsl:template>
    Merci d'avance.

  6. #6
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Pour ce type de pb ce n'est pas ce type d'algo qu'il faut rechercher mais celui ci

    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <R>
    <texte>Un premiere partie <gras>en gras</gras>, puis <italique>italique</italique> , puis de la <couleur>couleur</couleur></texte>
    </R>
    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="html"/>
    	<xsl:template match="/">
    		<html>
    			<head>
    				<title>test</title>
    			</head>
    			<body>
    				<xsl:apply-templates select="R/texte"/>
    			</body>
    		</html>
    	</xsl:template>
    	<xsl:template match="texte">
    		<xsl:apply-templates select="node()"/>
    	</xsl:template>
    	<xsl:template match="text()">
    		<xsl:value-of select="."/>
    	</xsl:template>
    	<xsl:template match="gras">
    		<b>
    			<xsl:value-of select="."/>
    		</b>
    	</xsl:template>
    	<xsl:template match="italique">
    		<i>
    			<xsl:value-of select="."/>
    		</i>
    	</xsl:template>
    	<xsl:template match="couleur">
    		<font color="#FF0000">
    			<xsl:value-of select="."/>
    		</font>
    	</xsl:template>
    </xsl:stylesheet>

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

Discussions similaires

  1. Mettre en couleur une partie du texte
    Par thomasdu40 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 06/05/2013, 15h42
  2. Réponses: 3
    Dernier message: 01/10/2012, 09h01
  3. Aide pour mettre en couleur du text.
    Par gabuuzz dans le forum C#
    Réponses: 4
    Dernier message: 22/08/2009, 16h38
  4. Mettre en couleurs un texte en fonction de sa valeur.
    Par yann123456 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/02/2008, 16h34
  5. Réponses: 3
    Dernier message: 24/02/2006, 12h30

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