Ik heb volgende XML:
Nu wil ik hier een tabel van genereren zoals deze:
Dit probeer ik te bereiken met:
Maar dit gaat niet omdat ik geen variabele kan gebruiken in een select. Op welke manier kan ik binnen mijn 2e for-each waarden gebruiken die ik in mijn eerste for-each gebruik? Misschien zit ik weer te veel op de programmeer-manier te denken en niet genoeg op xsl-manier (templates e.d.)
XML:
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
32
33
34
35
36
37
38
39
40
41
42
43
| <Framework> <Groups> <Group> <ID>3</ID> <Name>Global Admin</Name> <Joined/> <Permissions> <AccessAdminSection>1</AccessAdminSection> <AccessMaintenance>1</AccessMaintenance> <DebugInfo>1</DebugInfo> <ProductDelete>0</ProductDelete> </Permissions> </Group> <Group> <ID>6</ID> <Name>Shop Admin</Name> <Joined>1</Joined> <Permissions> <AccessAdminSection>1</AccessAdminSection> <AccessMaintenance>0</AccessMaintenance> <DebugInfo>0</DebugInfo> <ProductDelete>1</ProductDelete> </Permissions> </Group> <Group> <ID>4</ID> <Name>Users</Name> <Joined>1</Joined> <Permissions> <AccessAdminSection>0</AccessAdminSection> <AccessMaintenance>0</AccessMaintenance> <DebugInfo>0</DebugInfo> <ProductDelete>0</ProductDelete> <Permissions> </Group> </Groups> <Permissions> <Permission Name="AccessAdminSection" ID="14"/> <Permission Name="AccessMaintenance" ID="16"/> <Permission Name="DebugInfo" ID="15"/> <Permission Name="ProductDelete" ID="2"/> </Permissions> </Framework> |
Nu wil ik hier een tabel van genereren zoals deze:
| Global Admin | Shop Admin | Users | |
| AccessAdminSection | 1 | 1 | 0 |
| AccessMaintenance | 1 | 0 | 0 |
| DebugInfo | 1 | 0 | 0 |
| ProductDelete | 0 | 1 | 0 |
Dit probeer ik te bereiken met:
XML:
1
2
3
4
5
6
7
8
9
10
| <xsl:for-each select="Permissions/Permission"> <tr> <td><xsl:value-of select="@Name" /></td> <xsl:variable name="Permission" select="@Name"/> <xsl:for-each select="/framework/Groups/Group"> <td><xsl:value-of select="Permissions/$Permission" /></td> </xsl:for-each> </tr> </xsl:for-each> |
Maar dit gaat niet omdat ik geen variabele kan gebruiken in een select. Op welke manier kan ik binnen mijn 2e for-each waarden gebruiken die ik in mijn eerste for-each gebruik? Misschien zit ik weer te veel op de programmeer-manier te denken en niet genoeg op xsl-manier (templates e.d.)