Subject: RE: [xsl] [xls] run-time variable name generation (e.g. "double de-referencing" {$($name)} ) From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 11 May 2009 00:00:03 +0100 |
No, you can't do this. (I can't think of any language where you can, except some languages where variables are nothing more than macros, e.g. some OS script languages). Take a look at FXSL, which allows you to simulate higher-order functions. If you replace your variables with zero-argument functions, then you can effectively pass the function around as a first-class value. Real higher-order functions have now been defined and accepted for inclusion in XQuery 1.1 and I think it's likely that a future XSLT version will follow suit (though the decisions haven't yet been made). Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: Mtekel [mailto:thx@xxxxxxxxx] > Sent: 10 May 2009 23:45 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] [xls] run-time variable name generation (e.g. > "double de-referencing" {$($name)} ) > > Hello, > > I have a question again, this time concerning variables. > Can I generate variable name run-time? > Let's say I have: > > <xsl:variable name="A" select="100"/> > <xsl:variable name="B" select="BBB"/> > > <xsl:variable name="var" select="'A'"/> > <xsl:variable name="VAR" select="concat('$',$var)"/> > > and now I would like this (or what else could I use that > would work?) > > <xsl:value-of select="$VAR"/> > > would give output 100, not $A > > Is this possible or doable any way? > Maybe with some other type than variables? > Or with some other methods at all? > > (From functional lang. point of view this is st. like > dereferencing double > pointer: the first points to variable name, the variable name > then points to > data) > > > Once again, > > Thanks for any advice. > > Michael
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] [xls] run-time variable name , Mtekel | Thread | Re: [xsl] [xls] run-time variable n, DavePawson |
[xsl] [xls] run-time variable name , Mtekel | Date | [xsl] fo:block, Szabo, Patrick \(LNG |
Month |