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 :

[XSLFO] - Boucle de transformation récursive


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 237
    Points : 88
    Points
    88
    Par défaut [XSLFO] - Boucle de transformation récursive
    Bonjour,

    J'ai une chaîne de caractères contenant des caractères tilde que je voudrai remplacé par un bloc avec saut de ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <toto>ABC~DEF~GIJ~KLM</toto>
    Le nombre de tilde est variable.
    Je voudrai transformer le ~ en <fo:block>&#xA;</fo:block>

    Si quelqu'un a déjà fait une boucle de transformation récursive, je suis intéressé par sa solution.

    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 237
    Points : 88
    Points
    88
    Par défaut
    J'ai trouvé
    Pour ceux qui sont interessés par une solution :
    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
    <xsl:template name="Replace">
    	<xsl:param name="chaine"/>
    	<xsl:param name="chaineCherche"/>
    	<xsl:param name="Occur"/>
    		<xsl:choose>
    		<xsl:when test="number($Occur)=0">
    			<xsl:value-of select="$chaine"/>
    		</xsl:when>
    		<xsl:otherwise>
    			<xsl:when test="contains($chaine,$chaineCherche)">
    				<xsl:value-of select="substring-before($chaine,$chaineCherche)"/>
    				<fo:block line-height="0.1cm">*</fo:block>
    				<xsl:call-template name="Replace">
    					<xsl:with-param name="chaine" select="substring-after($chaine,$chaineCherche)"/>
    					<xsl:with-param name="chaineCherche" select="$chaineCherche"/>
    					<xsl:with-param name="Occur" select="$Occur - 1"/>
    				</xsl:call-template>
    			</xsl:when>
    		</xsl:otherwise>
    	</xsl:choose>
    </xsl:template>

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

Discussions similaires

  1. transformation d'une boucle en fonction récursive
    Par johnny3 dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2009, 16h28
  2. [SQL] créer une régle en php (récursive ou boucle) ?
    Par Overstone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/08/2007, 13h57
  3. Résultat (boucle for) transformé en chaine
    Par alain31tl dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2006, 13h06
  4. Réponses: 2
    Dernier message: 28/08/2006, 13h16
  5. [XSLT] transformation récursive
    Par johan_barbier dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 30/03/2006, 14h07

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