Hallo allemaal,
Ik ben momenteel bezig met een webshop in xml. Het xml-bestand wordt getransformeert HTML. Maar ik kom niet helemaal uit het xsl gedeelte:
Er zijn altijd 2 kollomen namelijk Titel en datum. Daarnaast kunnen er ook een aantal extra kolomen komen. Dit wordt bepaald door de gegevens in het element opties/LijstVelden/LijstVeld. de waarden hierin staan in relatie met de element in het "Extra" element in een Product element. Ik zat er zelf aan te denken op alle extra LijstVelden in een array te zetten maar ik denk niet dat die bestaan in XSL. (Ik heb ze nog niet gevonden iig) Voor de duidelijkheid zal ik ook mijn XML-bestand posten:
Iemand enig idee hoe ik dit moet oplossen?
Al vast bedank - Henk Erik
Ik ben momenteel bezig met een webshop in xml. Het xml-bestand wordt getransformeert HTML. Maar ik kom niet helemaal uit het xsl gedeelte:
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
| <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="utf-8"/>
<!-- Het WebshopCategorie gedeelte -->
<xsl:template match="WebshopCategorie">
<HTML>
<HEAD>
<TITLE>
<xsl:value-of select="Titel"/>
</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../../style.css"/>
</HEAD>
<BODY>
<DIV CLASS="Titel" ALIGN="center">
<xsl:value-of select="Titel"/>
</DIV>
<IMG WIDTH="175" HEIGHT="145" ALIGN="top" HSPACE="3" VSPACE="3">
<xsl:attribute name="src">
<xsl:value-of select="Foto"/>
</xsl:attribute>
</IMG>
<xsl:copy-of select="Tekst"/>
<TABLE CELLSPACING="1" CELLPADDING="0" CLASS="Tabel">
<TR>
<TH>Titel:</TH>
<xsl:for-each select="Opties/LijstVelden">
<TH>
<xsl:value-of select="LijstVeld"/>
</TH>
</xsl:for-each>
<TH>Datum</TH>
</TR>
<xsl:for-each select="Producten/Product">
<TR>
<TD>
<xsl:value-of select="Titel"/>
</TD>
<!-- Hier loop ik vast -->
<TD>
<xsl:value-of select="Datum"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet> |
Er zijn altijd 2 kollomen namelijk Titel en datum. Daarnaast kunnen er ook een aantal extra kolomen komen. Dit wordt bepaald door de gegevens in het element opties/LijstVelden/LijstVeld. de waarden hierin staan in relatie met de element in het "Extra" element in een Product element. Ik zat er zelf aan te denken op alle extra LijstVelden in een array te zetten maar ik denk niet dat die bestaan in XSL. (Ik heb ze nog niet gevonden iig) Voor de duidelijkheid zal ik ook mijn XML-bestand posten:
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
| <?xml version="1.0" encoding="ISO-8859-1"?>
<WebshopCategorie Id="2">
<Opties>
<LijstVelden>
<LijstVeld>Merk</LijstVeld>
</LijstVelden>
</Opties>
<Titel>Stadsherenfietsen</Titel>
<Foto>images/stadsherenfietsen.jpg</Foto>
<Tekst>Stads heren fietsen</Tekst>
<Producten>
<Product Id="6">
<Titel>Fiets 1</Titel>
<Foto>fototje.jpg</Foto>
<Tekst>De tekst</Tekst>
<Datum>27-02-2002</Datum>
<Extra>
<Framehoogte>1.20</Framehoogte>
<Kleur>Geel</Kleur>
<Merk>Batavus</Merk>
<Versnellingen>7</Versnellingen>
</Extra>
</Product>
<Product Id="7">
<Titel>Tweede Fiets</Titel>
<Foto>foto.jpg</Foto>
<Tekst>Nog wat extra commentaar op de fiets</Tekst>
<Datum>28-02-2002</Datum>
<Extra>
<Framehoogte>1.10</Framehoogte>
<Kleur>Zwart</Kleur>
<Merk>Gazelle</Merk>
<Versnellingen>5</Versnellingen>
</Extra>
</Product>
</Producten>
</WebshopCategorie> |
Iemand enig idee hoe ik dit moet oplossen?
Al vast bedank - Henk Erik