xsl-list
[Top] [All Lists]

RE: parameters - element vs attributes

2004-06-03 09:10:48
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>
--+--






<Prev in Thread] Current Thread [Next in Thread>