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 :

[Débutant] Problème de concaténation


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Par défaut [Débutant] Problème de concaténation
    Bonjour,

    Je dois parser un fichier XML de ce type (la partie qui m'intéresse est en gras) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <Case>
    
    <Key></Key> <Category></Category> <PartyLodged-01>06-06-2007</PartyLodged-01> <PartyLodged-02>06-06-2007</PartyLodged-02> <PartyLodged-03>06-06-2007</PartyLodged-03>
    </Case>
    Je dois traiter le noeud : PartyLodged sauf qu'il peut y en avoir jusqu'à 9 (le nombre varie)
    Donc j'appelle le template suivant car j'ai besoin de concaténer ma chaine de caractère grace à l'indice d'itération :

    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 name="parties">
     
    	<xsl:param name="iteration"/>
    	<xsl:param name="noeud"/>
    	<xsl:if test="$iteration != 9">
     
    		<xsl:apply-templates select="noeud/*[starts-with(name(),concat('PartyLodged-0',$iteration)]" />
     
    		<xsl:call-template name="parties">
    			<xsl:with-param name="iteration" select="$iteration + 1"/>
    			<xsl:with-param name="noeud" select="$noeud"/>
    		</xsl:call-template>
    	</xsl:if>
     
    </xsl:template>
    Qui appelle le template suivant dès qu'on a trouvé un noeud :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:template match="noeud/*[starts-with(name(),concat('PartyLodged-0',$iteration)]">
    	<td>
    		<xsl:apply-templates />
    	</td>
    </xsl:template>
    Mais cela ne marche pas et je pense que ca vient du starts-with ou du concat...

    Y a t-il une syntaxe qui n'est pas bonne ? Ou bien une mauvaise utilisation de paramètre ?

    Merci d'avance

  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
    il manque la parenthese fermante de "starts-with"

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Par défaut
    Que dire...
    C'est vraiment le sentiment qui m'abrite le plus là.

    Merci beaucoup d'avoir répondu

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

Discussions similaires

  1. [Débutant] Problème de variables
    Par bonnefr dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 12/05/2004, 17h41
  2. Réponses: 2
    Dernier message: 28/04/2004, 11h25
  3. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40
  4. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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