ik heb in een xsl stylesheet een string die een spatiegescheiden lijst voorsteld. Nu wil ik in een loopje items uit die lijst pikken. Heel nuttig hiervoor is de xpath tokenize() functie, alleen is die helaas nog niet echt geimplementeerd ergens.
Wat rondzoeken bracht me wel op een alternatief: http://www.exslt.org/str/...okenize/str.tokenize.html
dit is een template een string netjes kan splitsen, werkt prima, alleen deze jongen geeft een nodeset terug, iets als
en nu wil ik eigenlijk iedere keer in die loop precies 1 element daarvan hebben, maar hoe doe ik dat nu?
erg versimpeld heb ik dit:
Wat rondzoeken bracht me wel op een alternatief: http://www.exslt.org/str/...okenize/str.tokenize.html
dit is een template een string netjes kan splitsen, werkt prima, alleen deze jongen geeft een nodeset terug, iets als
XML:
1
2
3
4
5
| <token>20060429</token> <token>20060430</token> <token>20060501</token> <token>20060502</token> <token>20060503</token> |
en nu wil ik eigenlijk iedere keer in die loop precies 1 element daarvan hebben, maar hoe doe ik dat nu?
erg versimpeld heb ik dit:
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
| <xsl:param name="calSequence" select="'20060429 20060430 20060501 20060502 20060503'"/> <xsl:template match="/"> <table> <xsl:call-template name="rows"> <xsl:with-param name="start" select="0"/> <xsl:with-param name="end" select="3"/> </xsl:call-template> </table> </xsl:template> <xsl:template name="rows"> <xsl:param name="start" /> <xsl:param name="end" /> <xsl:param name="counter" select="0" /> <xsl:if test="$start <= $end"> <tr> <td>[hier dus nr 1]</td> <td>[hier nr 2 en de volgende loop 3 en 4 etc]</td> </tr> <xsl:call-template name="rows"> <xsl:with-param name="start" select="$start+1"/> <xsl:with-param name="end" select="$end"/> <xsl:with-param name="counter" select="$counter+1"/> </xsl:call-template> </xsl:if> </xsl:template> |
[ Voor 41% gewijzigd door Verwijderd op 29-04-2006 19:14 ]