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] Comment implémenter ces 2 programmes ?


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut [XSLT] Comment implémenter ces 2 programmes ?
    Bonjour,

    J'aimerais tester ces deux petits programmes, mais je n'y arrive pas. Comment les implémenter ? J'ai cherché "call-template" dans le forum, mais je n'ai pas trouvé la réponse. D'avance, merci.

    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
    <xsl:call-template name="compteur">
    		<xsl:with-param name="iteration" select="0"/>
    		<xsl:with-param name="fin" select="3"/>
    	</xsl:call-template>
    	<xsl:template name="compteur">
    		<xsl:param name="iteration"/>
    		<xsl:param name="fin"/>
    		<xsl:if test="$iteration < $fin">
    			<xsl:value-of select="'bonjour!'"/>
    			<xsl:call-template name="compteur">
    				<xsl:with-param name="iteration" select="$iteration + 1"/>
    				<xsl:with-param name="fin" select="$fin"/>
    			</xsl:call-template>
    		</xsl:if>
    	</xsl:template>
    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:call-template name="affiche_somme">
      <xsl:with-param name="a" select="173" />
      <xsl:with-param name="b" select="9001" />
    </xsl:call-template>
     
    <xsl:template name="affiche_somme">
      <xsl:param name="a" select="0" />
      <xsl:param name="b" select="0" />
      <xsl:text>a = </xsl:text>
      <xsl:value-of select="$a" />
      <xsl:text>, b = </xsl:text>
      <xsl:value-of select="$b" />
      <xsl:text>, et a+b = </xsl:text>
      <xsl:value-of select="$a + $b" />
      <xsl:text>.</xsl:text>
    </xsl:template>

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Essaye de lire la FAQ.

    MAT.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Merci d'avoir mis mon code dans des balises de code

    Avant de poster ce message, j'ai lu plein de tutoriaux de plusieurs sites dont le votre. Pour implémenter <xsl:if..., c'est bien expliqué, mais dans la FAQ dont tu me parles (1 des 2 exemples est issu de cette FAQ d'ailleurs : http://xml.developpez.com/faq/?page=3#xslt_compteur), l'implémentation n'est pas expliquée.

    Je devine que <xsl:call template doit être mis dans un fichier XSL, mais qu'est-ce que je mets dans le fichier XML ? Ce n'est pas écrit. J'ai essayé plein de trucs, mais je n'arrive pas à implémenter ces 2 fonctions.

  4. #4
    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 : 48
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    le compteur
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:template match="/">
    		<xsl:call-template name="compteur">
    			<xsl:with-param name="iteration" select="0"/>
    			<xsl:with-param name="fin" select="3"/>
    		</xsl:call-template>
    	</xsl:template>
    	<xsl:template name="compteur">
    		<xsl:param name="iteration"/>
    		<xsl:param name="fin"/>
    		<xsl:if test="$iteration &lt; $fin">
    			<xsl:value-of select="'bonjour!'"/>
    			<xsl:call-template name="compteur">
    				<xsl:with-param name="iteration" select="$iteration + 1"/>
    				<xsl:with-param name="fin" select="$fin"/>
    			</xsl:call-template>
    		</xsl:if>
    	</xsl:template>
    </xsl:stylesheet>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Par défaut
    Désolé, je n'y arrive pas : y a juste le squelette.

    Si vous pouviez mettre un exemple d'utilisation, ce serait sympa. De mon côté, je vais réfléchir davantage.

  6. #6
    Membre émérite
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Par défaut
    tu fais un fichier xsl nommé essai.xsl:
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:template match="/">
    		<xsl:call-template name="compteur">
    			<xsl:with-param name="iteration" select="0"/>
    			<xsl:with-param name="fin" select="3"/>
    		</xsl:call-template>
    	</xsl:template>
    	<xsl:template name="compteur">
    		<xsl:param name="iteration"/>
    		<xsl:param name="fin"/>
    		<xsl:if test="$iteration &lt; $fin">
    			<xsl:value-of select="'bonjour!'"/>
    			<xsl:call-template name="compteur">
    				<xsl:with-param name="iteration" select="$iteration + 1"/>
    				<xsl:with-param name="fin" select="$fin"/>
    			</xsl:call-template>
    		</xsl:if>
    	</xsl:template>
    </xsl:stylesheet>
    tu génères un fichier xml essai.xml
    maintenant tu lance la transformation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xalan -in essai.xml -xsl essai.xsl

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

Discussions similaires

  1. Comment implémenter lemonldap?
    Par Aldo dans le forum Apache
    Réponses: 7
    Dernier message: 25/01/2007, 21h32
  2. [XSLT] Comment procéder pour gérer des langues ?
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/03/2005, 11h01
  3. namespace dans feuille xslt : comment ca marche exactement ?
    Par guipom dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 11/11/2004, 16h21
  4. Comment faire patienter un programme ?
    Par JlouisI dans le forum Débuter
    Réponses: 4
    Dernier message: 03/03/2003, 11h11

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