The construct you are looking for (you're not the first) is
*[name()=$param]
which selects all child elements whose name is equal to $param.
Michael Kay
-----Original Message-----
From: stephen(_dot_)peterson(_at_)mnr(_dot_)gov(_dot_)on(_dot_)ca
[mailto:stephen(_dot_)peterson(_at_)mnr(_dot_)gov(_dot_)on(_dot_)ca]
Sent: 03 June 2004 14:12
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] parameters - element vs attributes
Hi there,
I'm kind of new to XML and I'm trying to figure out how I can use a
parameter (theLinkGroup) to select an element when used in
another template.
I have used it (a parameter in another template) to select an
element based
on the value of it's attribute before. But I keep getting a
error about
"NodeTest expected here" and showing me the beginning of my select
statement.
In the past I have used a parameter called "themeSubject" and
used it in
another template to select an element with the attribute
having the smae
value of the parameter. An it worked fine. <e.g.> <xsl:with-param
name="themeSubject" select="'GIS'"/> ... in other template
... <xsl:for-each
select="//siteLinkList/link[themeType/item=$themeSubject]">
</e.g.>
Can someone point me to a resource that will explain this to
me? I know
there are some restrictions on what you can do with
parameters and paths.
Many thanks,
MNR Steve
Here is most of my current code....
<xsl:template match="/">
<xsl:call-template name="siteLinks">
<xsl:with-param name="theLinkGroup"
select="'siteLinkList'"/> <!--
parameter
</xsl:call-template>
</xsl:template>
<!-- other templates -->
<!-- other templates -->
<xsl:template name="siteLinks">
<xsl:param name="theLinkGroup"></xsl:param>
<h2><xsl:value-of select="$theLinkGroup" /></h2>
<!----- does
work
<ul class="xsmall">
<xsl:for-each select="//$theLinkGroup/link">
<!-----
won't work
<li><a>
<xsl:attribute name="href"><xsl:value-of
select="url"/></xsl:attribute>
<xsl:value-of select="@title"/>
</a></li>
</xsl:for-each>
</ul>
</xsl:template>
--+------------------------------------------------------------------
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>
--+--