Hoi,
Ik heb een problempje met een xsl en ik begrijp er echt niks meer van.
w3schools ben ik afgestruind en met templates heb ik wat gerommeld maar voor elkaar krijgen doe ik het niet.
Ik wil dus met 1 xml en 1 xsl dynamisch de waarden en kolommen weergeven
Voorbeeld van de xml
Even een voorbeeld van de xls (dit werkt niet maar zo wil ik het)
Deze xslt werkt wel en geeft eigenlijk wel wat ik wil maar nu heb ik geen invoed over de kolommen, gewoon alles wat meegestuurd wordt.
En ik wil kunnen aangeven dat b.v de CustomerID niet zichtbaar is.
Kan iemand me een beetje helpen want ik loop echt vast
Ik heb een problempje met een xsl en ik begrijp er echt niks meer van.
w3schools ben ik afgestruind en met templates heb ik wat gerommeld maar voor elkaar krijgen doe ik het niet.
Ik wil dus met 1 xml en 1 xsl dynamisch de waarden en kolommen weergeven
Voorbeeld van de xml
code:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xsl/default.xsl"?>
<syntec>
<column>
<col><![CDATA[CustomerID]]></col>
</column>
<column>
<col><![CDATA[CompanyName]]></col>
</column>
<column>
<col><![CDATA[ContactName]]></col>
</column>
<column>
<col><![CDATA[ContactTitle]]></col>
</column>
<column>
<col><![CDATA[Address]]></col>
</column>
<column>
<col><![CDATA[City]]></col>
</column>
<column>
<col><![CDATA[Region]]></col>
</column>
<column>
<col><![CDATA[PostalCode]]></col>
</column>
<column>
<col><![CDATA[Country]]></col>
</column>
<column>
<col><![CDATA[Phone]]></col>
</column>
<column>
<col><![CDATA[Fax]]></col>
</column>
<record>
<CustomerID><![CDATA[ALFKI]]></CustomerID>
<CompanyName><![CDATA[Alfreds Futterkiste]]></CompanyName>
<ContactName><![CDATA[Maria Anders]]></ContactName>
<ContactTitle><![CDATA[Sales Representative]]></ContactTitle>
<Address><![CDATA[Obere Str. 57]]></Address>
<City><![CDATA[Berlin]]></City>
<Region />
<PostalCode><![CDATA[12209]]></PostalCode>
<Country><![CDATA[Germany]]></Country>
<Phone><![CDATA[030-0074321]]></Phone>
<Fax><![CDATA[030-0076545]]></Fax>
</record>
<record>
<CustomerID><![CDATA[ANATR]]></CustomerID>
<CompanyName><![CDATA[Ana Trujillo Emparedados y helados]]></CompanyName>
<ContactName><![CDATA[Ana Trujillo]]></ContactName>
<ContactTitle><![CDATA[Owner]]></ContactTitle>
<Address><![CDATA[Avda. de la Constitución 2222]]></Address>
<City><![CDATA[México D.F.]]></City>
<Region />
<PostalCode><![CDATA[05021]]></PostalCode>
<Country><![CDATA[Mexico]]></Country>
<Phone><![CDATA[(5) 555-4729]]></Phone>
<Fax><![CDATA[(5) 555-3745]]></Fax>
</record>
</syntec> |
Even een voorbeeld van de xls (dit werkt niet maar zo wil ik het)
code:
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
| <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<link href="css/default.css" rel="stylesheet" type="text/css" />
<body>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<xsl:for-each select="syntec/column">
<th class="header"><xsl:value-of select="col"/></th>
</xsl:for-each>
</tr>
<xsl:for-each select="syntec/record">
<tr style="background-color: #FFFFFF">
<xsl:variable name="row" select="."/>
<xsl:for-each select="../column">
<xsl:variable name="colname" select="col"/>
<td class="cell">
<xsl:value-of select="$row/$colname"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
Deze xslt werkt wel en geeft eigenlijk wel wat ik wil maar nu heb ik geen invoed over de kolommen, gewoon alles wat meegestuurd wordt.
code:
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
| <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<link href="css/default.css" rel="stylesheet" type="text/css" />
<body>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<xsl:for-each select="syntec/column">
<th class="header"><xsl:value-of select="col"/></th>
</xsl:for-each>
</tr>
<xsl:for-each select="syntec/record">
<tr style="background-color: #FFFFFF">
<xsl:variable name="row" select="."/>
<xsl:for-each select="*">
<td class="cell">
<xsl:value-of select="."/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
En ik wil kunnen aangeven dat b.v de CustomerID niet zichtbaar is.
Kan iemand me een beetje helpen want ik loop echt vast