Bonjour,
Je souhaite définir le contenu d'une variable en fonction de certaines condition.
Un peu de concret...:
Dans mon document que je transforme je définis différents paramètres de cette manière:
dans un autre endroit de mon xml, je peux faire référence à ces paramètres de la manière suivante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <parametre> <nom>paramNom</nom> <type>paramType</type> <valeur>paramValeur</valeur> </parametre>
Dans un template qui match les éléments style je voudrais pouvoir définir une variable de cette manière
Code : Sélectionner tout - Visualiser dans une fenêtre à part <style param="paramNom" />
La condition que je cherche à écrire serait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <xsl:template match="style"> <xsl:variable name="prefix"> <xsl:if test=" m a c o n d i t i o n ">'#' . </xsl:if> </xsl:variable> ... le reste ... </xsl:template>
il existe un noeud paramètre qui possède un noeud enfant (nom) dont la valeur vaut l'attribut param de style (le noeud qui match dans le template) et qui possède un noeud enfant (type) dont la valeur est la chaine 'color'.
Pour l'instant, j'ai écris ce chemin pour mon test:
Mais ca ne semble rien sélectionner...
Code : Sélectionner tout - Visualiser dans une fenêtre à part //parametre[child::nom[text()=./@param] and child::type[text()='color']]
Je m'en remets donc à vous. Si a travers mon message vous constatez certaines erreurs classiques de débutants, n'hésitez surtout pas à me le dire...
Merci de m'avoir lu jusque ici!
Partager