Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xsl] XSLT/SVG variables question

From: "James Fuller" <james.fuller@---------->
To:
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 &lt;= $count">
<!--    body of the loop goes here    -->
 </xsl:if>
 <xsl:if test="$i &lt;= $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


transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent