[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] dynamic variable names


Subject: Re: [xsl] dynamic variable names
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Sat, 24 Apr 2004 06:52:28 -0700

Sam Saha wrote:

Hi,
  How do I construct the name of a variable
dynamically.

  I have an xsl file (test.xsl) which has an include
file.

<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0" >
<xsl:include href="../include.xsl"/>	
...
...
...

There are two variables defined in the include.xsl
file, called name1 and name2.

Now I want to use the value of these two variables
dynamically in 'test.xsl'.
I did something like,


<xsl:value-of select="concat('name',$i)" /> where $i
will be 1 and 2 in different conditions.

but this only displays name1 and name2 instead of the
values held in them.

How do I construct the name of the variable to be
used, dynamically. Or am I missing the whole plot
here. I'm a beginner.


You can't do that in XSL.What you can do is:

<xsl:variable name="myVar">
  <xsl:choose>
    <xsl:when test="$something='foo'">
      <xsl:value-of select="$something"/>
    </
    <xsl:when test="$something-else='boo'">
      <xsl:value-of select="$something-else"/>
    </
    <xsl:otherwise>
      <xsl:value-of select="$default"/>
    </
  </
</

make sense?

best,
-Rob



Thanks for your help.


Sam.


Current Thread
Keywords
xsl