Subject: Re: [xsl] Loops and variables question From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 27 Nov 2003 11:29:05 GMT |
> How can implement this if a variable cannot be redefined?? It's not clear why people think that the use of variables in XSLT is any kind of restriction, it explictly is not a restriction. there is no computation that requires variables to be redefined. the code I posted before had a slight typo so here it is again, tested: This relies on your stylesheet having more nodes than the larget value of @quantity. <ROOMS> <ROOM quantity="5"/> <ROOM quantity="3"/> <ROOM quantity="7"/> </ROOMS> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="ROOM"> <xsl:variable name="n" select="@quantity"/> Room: <xsl:for-each select="(document('')//node())[position()<=$n]"> <xsl:value-of select="position()"/> <xsl:if test="position()<last()">, </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> $ saxon room.xml room.xsl <?xml version="1.0" encoding="utf Room: 1, 2, 3, 4, 5 Room: 1, 2, 3 Room: 1, 2, 3, 4, 5, 6, 7 =============================================== In xslt 2 you could use the more natural construct (and no variables at all) <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="ROOM"> Room: <xsl:value-of select="1 to @quantity"> </xsl:template> </xsl:stylesheet> $ saxon7 room.xml room.xsl <?xml version="1.0" encoding="UTF-8"?> Room: 1, 2, 3, 4, 5 Room: 1, 2, 3 Room: 1, 2, 3, 4, 5, 6, 7 David -- http://www.dcarlisle.demon.co.uk/matthew ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Loops and variables question, Fran | Thread | Re: [xsl] Loops and variables quest, Frederic Laurent |
RE: [xsl] parent node ??, Markus Hanel | Date | Re: [xsl] parent node ??, David Carlisle |
Month |