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

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
table.frame.box, have one parameter, which is a tree containing elements
with these names. Then you can use XPath to find the right value in the
tree.

Michael Kay


> 
> Pseudo-code for demonstration, NOT WORKING:
> 
> ...
> <xsl:param name="table.frame.void">border: none;</xsl:param> 
> <xsl:param name="table.frame.box">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:  http://www.mulberrytech.com/xsl/xsl-list
> 


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



Current Thread
Keywords