| 
 
Subject: RE: [xsl] xsl:variable From: Andrew Curry <andrew.curry@xxxxxxxxxxxx> Date: Thu, 22 Jul 2004 16:23:17 +0100  | 
As far as im aware global variables are not supported in xml 1.0...
You could possibly get round this with a recursive template of some kind
which is what i have used when faced with a similar problem. maybe something
along the lines of....
        <xsl:template name="list_data">
                <xsl:variable name="totalelements"
select="count(ELEMENT_TO_COUNT)"/>
                <xsl:variable name="pages" select="ceiling($totalelements
div 12)"/>
                <xsl:call-template name="produce-pages">
                        <xsl:with-param name="count" select="1"/>
                        <xsl:with-param name="max" select="$pages+1"/>
                </xsl:call-template>
        </xsl:template>
        <xsl:template name="produce-pages">
                <xsl:param name="count"/>
                <xsl:param name="max"/>
                <xsl:param name="maxdata" select="$count * 12"/>
                <xsl:param name="minddata" select="($maxrunners - 12) +1"/>
                <xsl:param name="datacount" select="0"/>
                <xsl:if test="$count != $max">
               <xsl:for-each select="DATA">
               <xsl:if test="position() <=$maxdata and position()
>=$mindata">
               <xsl:call-template name="display_data"/>
		</xsl:if>
               </xsl:for-each>
                                       
                <xsl:call-template name="produce-pages">
                                <xsl:with-param name="count" select="$count
+ 1"/>
                                <xsl:with-param name="max" select="$max"/>
                        </xsl:call-template>
                </xsl:if>
        </xsl:template>
-----Original Message-----
From: Evan Wellens [mailto:evanw@xxxxxxxxxxxxxxxxxxxx]
Sent: 22 July 2004 16:11
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] xsl:variable
Hi
         Hopefully I'm just missing something silly here.  I need to 
declare a variable that will be used globally and possibly modify if a 
condition occurs. Yet I cannot discern the syntax to do so , any attempt 
seems to re-declare the variable.
The intent here is to increment the value pages if the condition is true. 
If I declare a new variable within the If to hold the value it will go out 
of scope which doesn't help me.
Ie.
Thanks in advance for any ideas.
<xsl:variable name="pages" select="( $totalitems - $leftover ) div 
$pagesize "/>
<xsl:if test="leftover > 0 ">
         <xsl:variable name="$pages" select="$pages  =$pages +1"/>
</xsl:if>
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] xsl:variable, David Carlisle | Thread | RE: [xsl] xsl:variable, cknell | 
| [xsl] xsl:variable, Evan Wellens | Date | AW: [xsl] xsl:variable, christof.hoeke | 
| Month |