[xsl] Assembling variable names by XSL and getting them evaluated

Subject: [xsl] Assembling variable names by XSL and getting them evaluated
From: "cavecatem@xxxxxxxxxxxxx" <cavecatem@xxxxxxxxxxxxx>
Date: Wed, 18 Jan 2006 13:50:41
Hi all,

now to my second problem. In XMP, a lot of data are shown as numbers that
stand for certain strings, e.g. exif:LightSource (integer)
0 = unknown
1 = Daylight
2 = Fluorescent
3 = Tungsten
4 = Flash
9 = Fine weather
10 = Cloudy weather
11 = Shade
12 = Daylight fluorescent
(D 5700  7100K)
13 = Day white fluorescent
(N 4600  5400K)
14 = Cool white fluorescent
(W 3900  4500K)
15 = White fluorescent
(WW 3200  3700K)
17 = Standard light A
18 = Standard light B
19 = Standard light C
20 = D55
21 = D65
22 = D75
23 = D50
24 = ISO studio tungsten
255 = other


For display, I naturally need the strings and not the numbers.

So I though I'd declade them all as variables

...

<xsl:variable name="lightsource18"><xsl:text> Standard light
B</xsl:text></xsl:variable>
    <xsl:variable name="lightsource19"><xsl:text> Standard light
C</xsl:text></xsl:variable>
    <xsl:variable name="lightsource20"><xsl:text>
D55</xsl:text></xsl:variable>
    <xsl:variable name="lightsource21"><xsl:text>
D65</xsl:text></xsl:variable>
    <xsl:variable name="lightsource22"><xsl:text>
D75</xsl:text></xsl:variable>
    <xsl:variable name="lightsource23"><xsl:text>
D50</xsl:text></xsl:variable>
    ...


    and them call them in the template

    <td>Lichtquelle</td>
                            <td>
                               {$lightsource<xsl:value-of
select="@exif:Lightsource"/>}
     </td>

thus creating the required variable name on the fly.
     But unfortunately, the result is

     <td>Lichtquelle>/td>
     <td>{$lightsource3}</td>

     but the variable is not evaluated. Is there a way to get Saxxon 8B to do
this?
     Or am I totally onthe wrong track here?


     Thanks for any help

     Regards
     CJ

Current Thread