[XSL 1.0] Xsl:if => Nodeset listant plusieurs contraintes
Hello tout le monde !
Je suis bloqué dans mon développement pour la raison suivante :
J'aimerais procéder à un test avec If sous cette forme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<xsl:for-each select="//Parent">
<Parent>
<xsl:variable name="$code" select="document('codes.xml')/Codes/."/> <!-- ici le point désigne tout les nodes code qui sont les enfants de Codes -->
...
<xsl:if test="(Enfant[@Code]/.) = ($code)">
...
</xsl:if>
...
</Parent>
</xsl:for-each> |
Le problème c'est que $test représente un node-set venant d'un autre fichier XML.
Donc le tri ne s'effectue pas et mes balises restent vide...
Je voudrais savoir comment on peut faire pour tester un node-set (1 par 1 tout les node à l'interieur).
Pour être plus clair :
L'expression à laquelle j'aimerais arriver, c'est :
Code:
1 2
|
<xsl:if test="((Enfant[@Code]/.) = (Code1)) or ((Enfant[@Code]/.) = (Code2)) or ((Enfant[@Code]/.) = (Code3)) or ((Enfant[@Code]/.) = (Code4))"> |
Mais je ne veut pas le coder en dur, les codes sont stockés dans un fichier XML codes.xml et sont variable selon les utilisateurs.
J'espère avoir été assez explicite / concis.
Merci à tous les courageux (ou hargneux) codeurs qui auront le temps de me lire !
:roll: