![]() |
![]() | ![]() | ![]() | 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 10:54:00 AM On Wed, 01 Dec 2004 11:44:46 +0100, "Matt Adams" <mattad@xxxxxxxxx>
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[@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@xxxxxxxxxxxxxx | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
