RE: [xsl] Accessing variable with computed name

Subject: RE: [xsl] Accessing variable with computed name
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 9 Dec 2003 20:00:55 -0000
> how do I access the contents of a variable (or param) whose 
> name is computed?

Same way as you do it in C or Java. In other words, you don't.

Instead of having two parameters called table.frame.void and, have one parameter, which is a tree containing elements
with these names. Then you can use XPath to find the right value in the

Michael Kay

> Pseudo-code for demonstration, NOT WORKING:
> ...
> <xsl:param name="table.frame.void">border: none;</xsl:param> 
> <xsl:param name="">border: 1pt solid 
> black;</xsl:param> ...
> <xsl:template match="table">
>   <table style="{$table.frame.{@frame}}"> <!-- ### -->
>   ...
> </xsl:template>
> What I intend here is to compute the name of the variable to 
> be accessed using some constant prefix ('table.frame.') and 
> the contents of the element's 'frame' attribute.
> Nested {...}'s are not allowed, and some other attempts of 
> mine did not work (like "{concat( '$table.frame.', @frame)}").
> Regards, Christian.
>  XSL-List info and archive:

 XSL-List info and archive:

Current Thread