![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] XSLT/SVG variables question [Thread Next] Re: [xsl] XSLT/SVG variables questionTo: Date: 7/1/2002 12:48:00 AM Hello Harry, ----- Original Message ----- From: "Harry J. Foxwell" <hfoxwell@xxxxxxxxxx> > I'm not quite convinced of 'Assignment Considered > Harmful' (Kay, Chap 9) since I can't figure out how to solve my > XSLT/SVG problem without good ol' x=x+y constructs. well, this is a major tenet of FP, not an arguement but part of a very well developed approach to computer languages, in heavy use ( in some circles, u know who you are ! ) since the early 1970's. > As the block chart is built, I need to account for arbitrary > number of strings per block and number of blocks. "Normal" > variables would let me compute and increment SVG coordinates > for the rectangles and text. But XSLT variables aren't normal! u can always use a recursive named template, here is an example of an incrementing variable <xsl:call-template name="for.loop"> <xsl:with-param name="i">1</xsl:with-param> <xsl:with-param name="count">10</xsl:with-param> </xsl:call-template> <!-- Rename "old name" elements to "new name" --> <xsl:template name="for.loop"> <xsl:param name="i"/> <xsl:param name="count"/> <xsl:if test="$i <= $count"> <!-- body of the loop goes here --> </xsl:if> <xsl:if test="$i <= $count"> <xsl:call-template name="for.loop"> <xsl:with-param name="i"> <!-- Increment index--> <xsl:value-of select="$i + 1"/> </xsl:with-param> <xsl:with-param name="count"> <xsl:value-of select="$count"/> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template> you will most likely have to apply something like this cheers, jim fuller XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||
|
