xsl-list
[Top] [All Lists]

RE: How to return values from sub-template?

2004-12-01 04:24:02
In XSLT 1.0 your only option is to capture the tree fragment created by the
template in a variable using

<xsl:variable>
  <xsl:call-template/>
</xsl:variable>

XSLT 2.0 provides functions as an alternative to named templates. You can
call stylesheet functions from XPath, enabling:

<xsl:function name="f">...</xsl:function>

<xsl:variable name="v" select="f(....)"/>

Michael Kay
http://www.saxonica.com/
 

-----Original Message-----
From: Matt Adams [mailto:mattad(_at_)email(_dot_)com] 
Sent: 01 December 2004 10:45
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] How to return values from sub-template?

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?

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>
              
-- 
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


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




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