2008/8/21 Martin Honnen <Martin(_dot_)Honnen(_at_)gmx(_dot_)de>:
Matt Lee wrote:
<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.
All you can do is
<xsl:value-of select="@*[local-name() = $attribute]"/>
But why would you want to? You really don't need to separate out
getting an attributes value...
Why do:
<xsl:call-template name="getAttribute">
<xsl:with-param name="'someAtt'"/>
</xsl:call-template>
instead of:
<xsl:value-of select="@someAtt"/>
?
Remember one of the golden rules for people learning XSLT - don't use
named templates!
One of the worst sins of XSLT is not understanding the recursive
descent processing model (apply-templates and template matching) and
instead just using named templates passing around the context as
param:
<xsl:call-template name="handleSomeElem">
<xsl:with-param select="$current/elem"/>
...
and
<xsl:template name="handleSomeElem">
<xsl:param name="elem">
...
It becomes a maintenance nightmare!
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--