Bonjour,

J'utilise actuellement, pour une affectation à une variable, l'instruction suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<xsl:value-of select=
"count(parameter[@status != 'same']/enum/choice) 
+ count(parameter[@status != 'same' and @type != 'ENUM'])" />
Dans le deuxième count(), j'aimerais rajouter une condition sur la valeur de l'attribut @type : je veux également exclure du comptage les attributs @type dont la valeur se termine par ENUM. En effet, ce cas est déjà traité dans le premier count() (si la valeur de l'attribut se termine par ENUM, cet élément contient en effet /enum/choice...).

Il existe la fonction XPath ends-with(), mais il semble que ces fonctions ne soient pas utilisables dans des prédicats.

Voici ce que j'avais essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<xsl:value-of select = "count(parameter[@status != 'same']/enum/choice) +
count(parameter[@status != 'same' and @type != 'ENUM' and ends-with(@type,'ENUM')])" />
Et voici un exemple d'élément pour lequel j'ai besoin de ce traitement (je veux simplement qu'il soit triaté comme si son type était simplement "ENUM") :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
        <parameter name="AA_filter" type="INT|ENUM"
 default="9|gaussian" status="modified">
          <enum status="New">
            <choice value="box" status="New" />
            .....
          </enum>
        </parameter>
Comment faire ?

Merci.