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[(_at_)$attributeName='Footnote'] )">
[...]
</xsl:when>
Use @*[name()='Footnote']
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list