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 :

Boucle dans un fichier xsl


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut Boucle dans un fichier xsl
    Bonjour a tous

    Alors voila mon souci, j'ai un fichier xml qui présente comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <entrees_sorties>
    		<params>
    			<param type="double" nombre="14" prefix="p"/>
    		</params>
    </entrees_sorties>
    De la je voudrais mettre en place une feuille xsl qui a partir des attributs de la balise param puisse faire les declarations suivantes:
    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
     
    	private double p1;
    	private double p2;
    	private double p3;
    	private double p4;
    	private double p5;
    	private double p6;
    	private double p7;
    	private double p8;
    	private double p9;
    	private double p10;
    	private double p11;
    	private double p12;
    	private double p13;
    	private double p14;
    momn problème est que je ne sais pas implementer la boucle qui puisse m'aider a rediger ces lignes de declaration.

    L'un d'entre vous saurait il comment faire?

    merci d'avance

  2. #2
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    alors je vois bien une boucle pour construire toutes tes lignes jusqu'a la valeur nombre : cf boucle

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Je crois avoir compris le principe de la recursivité mais je sais pas comment faire pour l'implementer. Qulequ'un aurait des idées. Actuellement je fais ce ceci (qui ne marche pas)
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!-- 
    | Doc ref XSL : http://www.zvon.org/
    + -->
     
    <xsl:stylesheet version="1.0" 
    		xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    		xsi:schemaLocation="http://www.w3.org/1999/XSL/Transform http://www.w3.org/2005/11/schema-for-xslt20.xsd">
     
    	<xsl:output method="text" indent="yes"></xsl:output>
     
    	  <xsl:template name="declaration">
    		<xsl:param name="iteration"/>
    		<xsl:param name="nombre"/>
    		<xsl:param name="type"/>
    		<xsl:param name="prefixe"/>
    		<xsl:if test="$iteration &lt; $nombre">
    			<xsl:value-of select="'private $type concat($prefixe,iteration);'"/>
    			<xsl:call-template name="declaration">
    				<xsl:with-param name="iteration" select="$iteration + 1"/>
    				<xsl:with-param name="nombre" select="$nombre"/>
    			</xsl:call-template>
    		</xsl:if>
      </xsl:template>
     
      <xsl:template match="/">
     
    package fr.edf.mpv2.serveurcalcul.koala.transverse.traitement.conversion;
     
    import java.util.List;
     
    import org.apache.log4j.Logger;
     
    class <xsl:value-of select="trait/@id"/>  {
     
    <!-- 
    | traitement des parametres
    + -->
    	<xsl:call-template name="declaration">  
    		<xsl:with-param name="iteration">1</xsl:with-param >  
    		<xsl:with-param name="nombre"> <xsl:value-of select="trait/entrees_sorties/param/@nombre"/> </xsl:with-param > 
    		<xsl:with-param name="type"> <xsl:value-of select="trait/entrees_sorties/param/@type"/> </xsl:with-param > 
    		<xsl:with-param name="prefixe"> <xsl:value-of select="trait/entrees_sorties/param/@prefixe"/> </xsl:with-param > 
        </xsl:call-template> 
     
     </xsl:template>
    </xsl:stylesheet>
    seulement l'action du "call-template" ne se fait pas.
    auriez vous des idées d'implémentation de la recursivité.

    Merci d'avance

Discussions similaires

  1. [XSLT] Importer un fichier xml (i18n) dans un fichier xsl
    Par cassy dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 11/04/2007, 11h38
  2. [Bash]:Afficher une boucle dans un fichier ?
    Par byloute dans le forum Linux
    Réponses: 2
    Dernier message: 03/04/2007, 11h12
  3. Réponses: 2
    Dernier message: 22/05/2006, 00h07
  4. Peut on ecrire dans un fichier XSL existant?
    Par Mickey.jet dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 30/03/2006, 15h48
  5. [XSL] Utiliser des CSS dans un fichier XSL
    Par alainme dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 13/04/2005, 10h47

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