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] MAJ variables globales


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut [XSLT] MAJ variables globales
    Bonjour à tous !
    J'ai un fichier xslt dans lequel je souhaite mettre à jour une variable globale suivant des tests effectués.
    Problème, je n'y arrive pas car je sais pas vraiment comment m'y prendre...
    Voici mon xslt :
    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
    <xsl:template match="w:tc">
    	<xsl:variable name="isCellule" />
    	<xsl:choose>
    		<xsl:when test="w:tc/w:tcPr/w:vMerge">
    			<xsl:choose>
    				<xsl:when test="w:tc/w:tcPr/w:vMerge/@w:val='restart'">
    					<xsl:variable name="isCellule" select="yes" />
    				</xsl:when>
    				<xsl:otherwise>
    					<xsl:variable name="isCellule" select="no" />
    				</xsl:otherwise>
    			</xsl:choose>
    		</xsl:when>
    		<xsl:otherwise>
    			<xsl:variable name="isCellule" select="yes" />
    		</xsl:otherwise>
    	</xsl:choose>	
     
    	<xsl:if test="$isCellule='yes'">
    	...
    	</xsl:if>
    	...
    </xsl:template>
    En fait je souhaiterai mettre à jour ma variable isCellule pour pouvoir la réutiliser plus loin dans mon xslt. Est-ce possible ? Si oui est-ce que quelqu'un a une idée sur la question?
    Merci d'avance pour vos réponses.

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Non, non, non...

    Les variables XSLT sont des constantes et leur portée correspond à leur positionnement dans l'arborescence. Une variable définie dans un template n'est pas accessible en dehors de ce template !

    Par contre les templates nommés ont des paramètres que l'on peut transmettre d'appel en appel.

    Cette contrainte sur les variables a pour intérêt de permettre la parallélisabilité des traitements... mais je n'ai encore jamais entendu parlé d'un moteur XSLT parallèle...
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  3. #3
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    C'est bien ce qui me semblais mais j'en étais pas certain 100%.
    Je vais donc passer par des paramètres.
    Encore merci pour cette réponse rapide!

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

Discussions similaires

  1. la portée des variables globales en XSLT
    Par onh890 dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 01/06/2012, 17h57
  2. [XSLT] Variable globale
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 02/02/2009, 14h34
  3. [XSLT] Création d'une variable global tableau
    Par mbodjisa dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/09/2006, 09h50
  4. [XSLT] les variables???
    Par Lydiane dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 09/08/2002, 16h17
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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