Subject: RE: 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
|