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] Convertir une chaine de caractère


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [XSL] Convertir une chaine de caractère
    Salut tout le monde

    j'ai une chaine de caractères dans un element
    <myElement>
    #1table#2#3table#2
    </myElement>

    que je veux remplacer par

    <myElement>
    <table></table>
    </myElement>


    '#1' = '<'
    '#2' = '>'
    '#3' = '</'
    merci

  2. #2
    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 : 47
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    decouper , dans une fonction recursive , a l'aide des fonctions substring-after, substring-before.
    exemple d'utilisation de ces fonctions sur ce forum

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [XSL] Convertir une chaine de caractère
    j'ai utilisé une fonction récursive qui me permet de modifier un seul carctère #1 dans toute la chaine mais je veux modifier #2 et #3, c'est la dessus que je bloque

    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
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:diff="http://www.prostep.org/">
    	<xsl:template match="/">
    		<HTML>
    			<HEAD>
    				<TITLE>Titre de la page</TITLE>
    			</HEAD>
    			<BODY BGCOLOR="#FFFFFF">
    				<xsl:apply-templates/>
    			</BODY>
    		</HTML>
    	</xsl:template>
    	<xsl:template match="personne">
    		<ul>
    			<li>
    				<xsl:value-of select="nom"/>
    				<xsl:value-of select="prenom"/>
    				<!--<xsl:value-of select="CasDEmploi"/>-->
    			</li>
    		</ul>
    	</xsl:template>
     
    	<xsl:template match="CasDEmploi">
    		<xsl:call-template name="substitute">
    			<xsl:with-param name="chaine" select="."/>
    			<xsl:with-param name="changer" select="'#1'"/>
    			<xsl:with-param name="changeBy" select="'&lt;'"/>
    		</xsl:call-template>
    	</xsl:template>
     
    	<xsl:template name="substitute">
    		<xsl:param name="chaine"/>
    		<xsl:param name="changer"/>
    		<xsl:param name="changeBy"/>
    		<xsl:variable name="avant" select="substring-before($chaine,$changer)"/>
    		<xsl:variable name="apres" select="substring-after($chaine, $changer)"/>
     
    		<xsl:value-of select="$avant"/>
    		<xsl:value-of select="$changeBy"/>
    		<xsl:choose>
    			<xsl:when test="contains($apres,$changer)">
    				<xsl:call-template name="substitute">
    					<xsl:with-param name="chaine" select="$apres"/>
    					<xsl:with-param name="changer" select="$changer"/>
    					<xsl:with-param name="changeBy" select="$changeBy"/>
    				</xsl:call-template>
    			</xsl:when>
    			<xsl:otherwise>
    				<xsl:value-of select="$apres"/>
    			</xsl:otherwise>
    		</xsl:choose>
    	</xsl:template>
    </xsl:stylesheet>

Discussions similaires

  1. Convertir une chaine de caractères
    Par error404 dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2007, 23h47
  2. Réponses: 4
    Dernier message: 22/10/2007, 13h51
  3. Réponses: 5
    Dernier message: 16/05/2007, 13h43
  4. Convertir une chaine de caractère en tableau
    Par Mysti¢ dans le forum Général Python
    Réponses: 7
    Dernier message: 09/04/2007, 12h20
  5. Réponses: 6
    Dernier message: 14/06/2006, 15h27

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