This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: concat variable names


Couldn't he do:

<xsl:for-each select="($var1 | $var2 | $var3 | $var4 | $var5)">
...
</xsl:for-each>

?

--

David B. Bitton
david@codenoevil.com
www.codenoevil.com

Code Made Fresh DailyT
----- Original Message ----- 
From: "Dion Houston" <dionh@microsoft.com>
To: <xsl-list@lists.mulberrytech.com>
Sent: Thursday, March 14, 2002 7:50 PM
Subject: RE: [xsl] concat variable names


> Hi Michael:
> 
> Variable names are constant, so you can't create them dynamically in the
> way you describe.  I would recommend something like this:
> 
> <xsl:variable name="mySettings.tf">
>    <Setting Name="var_1">value_of_var1</Setting>
>    <Setting Name="var_2">value_of_var2</Setting>   
>    <Setting Name="var_3">value_of_var3</Setting>
>    <Setting Name="var_4">value_of_var4</Setting>
> </xsl:variable>
> <xsl:variable name="mySettings"
> select="msxsl:node-set($mySettings.tf)"/>
> 
> (replace msxl:node-set() with your preferred nodeset from tree fragment
> function)
> 
> You can then replace references to $var_x with
> $mySettings/Setting[@Name='var_1'], and to get all the values, simply
> get all $mySettings/Setting.
> 
> HTH!
> 
> Dion
> 
> 
> -----Original Message-----
> From: Michael Auth [mailto:michael.auth@web.de] 
> Sent: Thursday, March 14, 2002 4:24 PM
> To: XSL-List@lists.mulberrytech.com
> Subject: [xsl] concat variable names
> 
> 
> Is there a way to concat the name of a variable?
> 
> I have 5 variables $var_1, $var_2, ..., $var_5; all declared as global
> variables.
> I want to use this varibles in a loop, something like this:
> 
> loop (count from 1 to 5, store the counter in a variable called
> $counter)
>    <xsl:variable name="newvar" select="$(concat('var_', $counter))"/>
> 
> 
> What I want to get, is that the variable $newvar stores the value of
> $var_1 and in the next run the value of $var2, and so on up to $var_5.
> 
> It does not work (of course) with the method above, but is there a way
> it will work???
> (It seems to me that this is a general problem in XSL, for I have other
> projects where it would be very usefully too).
> 
> Thanks!
> 
> 
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]