Bonjour les amis, j'ai un problème très simple ( à expliquer ) mais pour lequel la solution se fait désirer.
J'ai 2 documents xml, un concernant le projet en cours et un étant le référentiel.
Le fichier projet contient des id d'items et une date associée.
Le fichier référentiels contient des arborescences du genre categorie/items.
La présentation attendue est que les items (Nom et date associée) soit listé et groupé selon leur catégorie d'appartenance.
Problème : si pour la catégorie x du référentiel, le fichier projet ne contient aucun Item correspondant, il faudrait cacher le div qui contient e label categorie et le tableau vide de ses items.
Je ne vois pas comment agir sur la visibité de la div courante, j'avais penser mettre pour style de la div un display:none et passer à display:inline en passant à l'intérieur de mon xsl:if mais je sais pas comment faire... javascript ou pas?
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
27
28
29
30
31 <xsl:variable name="ProceduresLookup" select="document('referentiel.xml')"/> <xsl:for-each select="$ProceduresLookup/Procedure/ItemCategory[@Id = $categoryId]/ItemCategory"> <div> <table class="tgenwb"> <tr class="theader2"> <td><b><xsl:value-of select="./@Name"/></b></td> </tr> <tr class="theader"> <td>Item</td> <td>Date</td> <td>Description</td> </tr> <xsl:for-each select="./ItemType"> <xsl:variable name="currentItem" select="."/> <xsl:for-each select="$currentDoc/Report/Session/Activity/Item"> <xsl:variable name="itemId" select="substring-after(./Type, '#')"/> <xsl:if test="$currentItem/@Id = $itemId"> <tr class="tcontent" id="{$itemId}"> <td><xsl:value-of select="$currentItem/@Name"/></td> <td><xsl:value-of select="format-dateTime(./@Date,'[D01]/[M01]/[Y0001]-[H01]:[m01]:[s01]')"/></td> <td><xsl:value-of select="$currentItem/@Description"/></td> </tr> </xsl:if> </xsl:for-each> </xsl:for-each> </table> </div> </xsl:for-each>
j'ai essayé de mettre un id initialisé à position sur les div, cest ok mais lappel à la fonction JS ne marche pas, de plus le le noeud est en train d'être construit donc au final j'ai peu d'espoir de ce coté là.
Merci de me soumettre une piste ou autre, en espérant de pas avoir été trop long ds mon explication.![]()
Partager