[XPath] test d'existence de noeud avec conditions sur les enfants
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:
Code:
1 2 3 4 5 6
|
<parametre>
<nom>paramNom</nom>
<type>paramType</type>
<valeur>paramValeur</valeur>
</parametre> |
dans un autre endroit de mon xml, je peux faire référence à ces paramètres de la manière suivante.
Code:
<style param="paramNom" />
Dans un template qui match les éléments style je voudrais pouvoir définir une variable de cette manière
Code:
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> |
La condition que je cherche à écrire serait:
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:
Code:
//parametre[child::nom[text()=./@param] and child::type[text()='color']]
Mais ca ne semble rien sélectionner...
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!