Ik ben bezig met een project(je) voor mijn opleiding, waarin ik kennis leer maken met XML, XSLT, xHTML enz.
Hierin loop ik tegen een probleem aan, en het lukt me niet om dit op te lossen.
Het zit als volgt:
In de XML:
Nu wil ik in de output html:
Als ik echter simpelweg gebruik maak van '<div id="{@category}" >' dan krijg ik natuurlijk 2 divs met cat1 als ID en twee divs met respectievelijk cat2 en cat3 als ID.
Ik probeerde het volgende werkend te krijgen:
Dit gaat denk ik niet werken (los van het feit of die XPath expressie klopt) omdat hij een div moet maken waar de informatie voor meerdere instanties van de betreffende categorie in komen. Nu is mijn vraag natuurlijk hoe ik het voor elkaar kan krijgen dat ik één div voor elke categorie kan hebben met de categorie naam als ID.
Hierin loop ik tegen een probleem aan, en het lukt me niet om dit op te lossen.
Het zit als volgt:
In de XML:
XML:
1
2
3
4
5
6
7
8
| <city> <locations> <location category="cat1" /> <location category="cat1" /> <location category="cat2" /> <location category="cat3" /> </locations> </city> |
Nu wil ik in de output html:
XML:
1
2
3
4
5
6
7
8
9
10
| <div id="cat1"> [...informatie over de eerste locatie van cat 1..] [...informatie over de tweede locatie van cat 1..] </div> <div id="cat2"> [...informatie over de eerste locatie van cat 2..] </div> <div id="cat3"> [...informatie over de eerste locatie van cat 3..] </div> |
Als ik echter simpelweg gebruik maak van '<div id="{@category}" >' dan krijg ik natuurlijk 2 divs met cat1 als ID en twee divs met respectievelijk cat2 en cat3 als ID.
Ik probeerde het volgende werkend te krijgen:
XML:
1
2
3
| <xsl:template match="locations/location"> <div id="{@category[not(@category = preceding-sibling::location/@category)]}" ></div> </xsl:template> |
Dit gaat denk ik niet werken (los van het feit of die XPath expressie klopt) omdat hij een div moet maken waar de informatie voor meerdere instanties van de betreffende categorie in komen. Nu is mijn vraag natuurlijk hoe ik het voor elkaar kan krijgen dat ik één div voor elke categorie kan hebben met de categorie naam als ID.