RE: [xsl] Using a variable as an attribute name

Subject: RE: [xsl] Using a variable as an attribute name
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 21 Jan 2003 10:22:47 -0000
> One of the developers here is trying to do a test on a 
> attribute where the attribute name is contained in a variable.
> 
> We're getting an illegal character error on the test line.  
> Is what he's trying to do even legal or are we taking the 
> wrong tack on this?

Yes, guessing the syntax of the language is always the wrong tack.

Variables in XPath represent values. They aren't macros, like in a shell
script, that you can use in place of any keyword in the language.

> 
>   <xsl:variable name="attributeName" select="'charstyname'"/>
>   <xsl:variable name="before" select="preceding-sibling::*[1]"/>
>   
>   <xsl:when test="not( $before[@$attributeName='Footnote'] )">
>     [...]
>   </xsl:when>
> 

Use @*[name()='Footnote']

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


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


Current Thread