Bonjour,

voila mon problème j'ai envie de testé si le noeud Eigenschaft n'est pas la il faut que je fasse la boucle!

Comment faire?

<xsl:for-each select="node()[not(Eigenschaft) and ($Validonly = 0 or ($Validonly = 1 and @valid = '1'))]">


not() = test si c'est élément n'existe pas et si c'est le cas il fait la boucle!! not() ne marche pas!!!

Merci de votre aide!!

++

Thierry
Modifié par virgul (21 Apr 2005 - 09:55)
Pourquoi n'imbriquerais-tu pas ton xsl:for-each dans un xsl:if? Après tout, le xsl:if est là pour remplir exactement la fonction que tu cherches Smiley ohwell
Désolé mais je comprends pas ce que tu veux dire par la? t'as pas un petit exemple stp (pour mon cas c'est pas sorcier si tu sais comment faire)!

Se qui m'intéresse moi c'est faire la boucle si l'élément n'existe pas et pas le contraire.


Merci de ton aide!

Thierry
Eh bien, pourquoi pas un

<xsl:if test="node()[not(Eigenschaft)] and ($Validonly = 0 or ($Validonly = 1 and @valid = '1'))">
    <xsl:for-each select=".">
        (...)
    </xsl:for-each>
</xsl:if>


J'ai modifié un peu ton test, car il me semble que ton prédicat utilisant les variables $Validonly et $valid ne peut pas s'appliquer à ta collection de noeuds... Smiley ohwell
Quant au select de ton for-each, tu peux y mettre ce que tu veux Smiley cligne
Désolé pour la question mais en faite j'ai compris pourquoi ca marchais pas mon truc je me suis planté plus haut j'ai oublié un $ devant un paramètre ce qui fait qu'il n'entrait pas dans la condition d'au dessus et m'affichait aucun résultat et je croyais de ce fait que ma condition dans mon for-each ne marchait pas et en faite elle n'étais même pas exécuté!


Merci beaucoup pour ton aide

++

Thierry