Bonjour,

J'ai un problème de test/d'affichage avec mon fichier xslt.

J'ai un paramètre que je passe ($DroitUtilisateur) qui est une concaténation du nom de l'utilisateur courant ainsi que tous les groupes auquels il appartient.
Exemple : Utilisateur1|Groupe1|Groupe2

Je dois afficher les documents que l'utilisateur à droit de voir.
C'est à dire que son nom ou un de ses groupes doit est présent dans les permissions et que l'accès soit supérieur à 0!

Voila le fichier XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<Documents>
  <Document ID="003676512">
    <Permissions>
      <PermissionBase Type="17">
        <Label>Groupe 1</Label>
        <Access>3</Access>
      </PermissionBase>
    </Permissions>
  </Document>
  <Document ID="003676479">
    <Permissions>
      <PermissionBase Type="17">
        <Label>Groupe 3</Label>
        <Access>3</Access>
      </PermissionBase>
      <PermissionBase Type="18">
        <Label>Utilisateur 1</Label>
        <Access>0</Access>
      </PermissionBase>
      <PermissionBase Type="18">
        <Label>Utilisateur 2</Label>
        <Access>2</Access>
      </PermissionBase>
    </Permissions>
  </Document>
</Documents>
Et mon fichier XSLT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<ul class="explorerDocument">
  <xsl:for-each select="/Documents/Document">
    <xsl:if test="contains($DroitUtilisateur, ./Permissions/PermissionBase/Label) and (./Permissions/PermissionBase/Access > 0)">
      <li>
        <xsl:value-of select="./@ID"/>
      </li>
    </xsl:if>
  </xsl:for-each >
</ul>
Dans l'exemple, on devrait afficher juste le premier document car le Groupe 1 à un niveau d'accès à 3!
Le deuxième document ne doit pas être affiché!

Merci d'avance

Cordialement,
Julien