xsl-list
[Top] [All Lists]

Re: How to return values from sub-template?

2004-12-01 03:54:01

On Wed, 01 Dec 2004 11:44:46 +0100, "Matt Adams" <mattad(_at_)email(_dot_)com>
said:
Sorry for this newbie question but I didn't found a hint in tutorials on
how to return
back parameter values from sub-templates. Assume the following situation.
I want to pass back the boolean (or other values in other scenarios)
value if the attribute "age" 
exists in a node "myelement" with the attribute name="karl". 

Yes, I know, THIS sample could be coded easier within
one template but my sample is only a simplified version for a complex
scenario
where two templates are required.

Again, how can I access the value of the variable myval from the calling
template?

You can't because its created inside the template "subtemp" and in its
context.

Thank you
Matt

<xsl:template match="/">
   <xsl:call-template name="subtemp">
     <xsl:with-param name="parm" select="//myelement[(_at_)name = 'karl']" />
   </xsl:call-template>
   Age exists=<xsl:value-of select="$myval" />  <!-- does not work -->
</xsl:template>

<xsl:template name="subtemp">
  <xsl:param name="parm" />
    Hello
  <xsl:variable name="myval" select="exist(@age)" />
  return $myval
</xsl:template>
              

Just don't use an xsl:variable, return the value directly in the
template:

<xsl:template name="subtemp">
  <xsl:param name="parm" />
    Hello <!-- ? -->
    <xsl:value-of select="exist($parm/@age)" />
</xsl:template>

Richard.
-- 
  Richard Lewis
  richardlewis(_at_)fastmail(_dot_)co(_dot_)uk


--~------------------------------------------------------------------
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>