[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Using variables in xpath attribute matches
If you are using Saxon, I believe a solution exists by using the extension functions saxon:expression() and saxon:eval(). See: http://www.saxonica.com/documentation/extensions/functions/expression.html http://www.saxonica.com/documentation/extensions/functions/eval.html Darcy On Thu, Aug 21, 2008 at 1:07 PM, Matt Lee <reachmatt.lee@xxxxxxxxx> wrote: > > Hi, > > I have the following template: > > <xsl:template name="get_attribute"> > <xsl:param name="attribute"/> > <xsl:value-of select="@<<FIXME>>"/> > </xsl:template> > > > I would like to use the value of the attribute parameter passed into > this template as the attribute match expression in the inner most > select. But I am quite confused as to what the syntax is for doing > this. For instance, given this XML, > > <foo> > <node attrib1="1" attrib2="2"/> > </foo> > > I would like to invoke the get_attribute template as follows: > > <xsl:call-template name="get_attribute"> <xsl:with-param > name="attribute>attrib1</xsl:with-param> > <xsl:call-template name="get_attribute"> <xsl:with-param > name="attribute>attrib2</xsl:with-param> > > I have tried the following syntaxes, with no success. The parser gives > syntax errors. > > <xsl:value-of select="@$attribute"/> > <xsl:value-of select="@{$attribute}"/> > <xsl:value-of select="@'$attribute'"/> > <xsl:value-of select="@string($attribute)"/> > > Everything works fine, if I directly key in the attribute name: > > <xsl:value-of select="@attrib1"/> and so on. > > Am I trying to do something really stupid? Please advise. It sounds > like it would be useful to construct the xpath expression via > variables. > > matt
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|