xsl-list
[Top] [All Lists]

RE: Accessing variable with computed name

2003-12-09 13:00:55

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(_dot_)frame(_dot_){(_at_)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



<Prev in Thread] Current Thread [Next in Thread>