[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Passing empty parameters discard parameters defaul

Subject: Re: [xsl] Passing empty parameters discard parameters default value
From: Thijs Janssen <thijs.janssen@xxxxxxxxx>
Date: Wed, 16 Jun 2004 20:51:20 +0200
thijs janssen
Hi Michal,

The problem is that you ARE passing a parameter to mytemplate_impl. It
might eventually be empty, but it still counts as a parameter, and
thus no default value is used... (after all, one can imagine cases
where passing an empty nodeset as a parameter has a semantical
meaning)

A possible work-around is:

<xsl:template name="mytemplate">
  <xsl:param name="p"/>
  <xsl:call-template name="mytemplate_impl">
    // parameter is not passed if its empty
    <xsl:if test="$p">
      <xsl:with-param name="p" select="$p"/>
    </xsl:if>
  </xsl:call-template>
</xsl:template>

regards,
Thijs Janssen

On Wed, 16 Jun 2004 14:58:16 +0200, ĎURDINA Michal
<michal.durdina@xxxxxxxxxxxx> wrote:
> 
> Hello,
> 
> I am having problems with passing empty parameters (no with-param specified) that discard default values of parameters. When I am calling the template and passing no value I want the template to use its default value.
> 
> Example:
> 
>   <xsl:template name="mytemplate">
>     <xsl:param name="p"/>
>     <xsl:call-template name="mytemplate_impl">
>       <xsl:with-param name="p" select="$p"/>
>     </xsl:call-template>
>   </xsl:template>
> 
>   <xsl:template name="mytemplate_impl">
>     <xsl:param name="p">default p</xsl:param>
>     p = <xsl:value-of select="$p"/>
>   </xsl:template>
> 
> When calling:
>     <xsl:call-template name="mytemplate_impl"/>
> the result is:
>         p = default p
> But when calling
>     <xsl:call-template name="mytemplate"/>
> the result is:
>         p =
> 
> what is wrong in my case, becase I did not supplied any value to parameter $p so I want to see its default value. I know that I can declare the same default value in template "mytemplate" , but then I will have the same value in more than one place and that's not good when I will need to change it.
> 
> Is there any workaround for my problem?
> 
> Thank you,
> Michal
>

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.