![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] How to return values from sub-template? [Thread Next] RE: [xsl] How to return values from sub-template?To: Date: 12/1/2004 11:24:00 AM 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@xxxxxxxxx] > Sent: 01 December 2004 10:45 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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[@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 | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
