Subject: Re: Wish List: Allow <xsl:choose> within <xsl:call-template> From: "Alexandra Morgan" <lexalex@xxxxxxxxxxxxx> Date: Thu, 11 Nov 1999 09:09:15 -0800 |
Nikita's snippit is interesting, but would it actually work? Section 11.5 of www.w3.org/TR/xslt states "...the binding is visible for all following siblings and their descendants." I read this and took this to mean that once you've passed the end of the element that's the parent of the xsl:variable element, the variable is gone... which, in this case, would mean that $par_one is only bound inside the xsl:when. Not very useful, I thought, but otherwise I don't know what they mean. I would test this myself, but I can't seem to get variables working at all.... -- Lex "short for perpLEXed" -- On Thu, 11 Nov 1999 10:09:55 Nikita Ogievetsky wrote: >Yow always can define parameters before calling a template. >It is not very big price to pay. >For example: > ><xsl:choose> > <xsl:when test="$one"> > <xsl:variable name="par_one" select="$one"/> > </xsl:when> > <xsl:when test="$done" > > <xsl:variable name="par_one" select="$done"/> > </xsl:when> ></xsl:choose> > ... ><xsl:call-template name="base-function"> > <xsl:with-param name="one" select="$par_one" /> ></xsl:call-template> > >On Thursday, 11 Nov 1999, Clark C. Evans wrote: >> On Wed, 10 Nov 1999, Mike Brown wrote: >> > I don't get it. Did your example templates demonstrate what you were >trying >> > to say? It seems like this would do just as well in the second template, >and >> > wouldn't be that much more tedious: >> > >> > <xsl:choose> >> > <xsl:when test="$one"> >> > <xsl:call-template name="base-function"> >> > <xsl:with-param name="one" select="$one" /> >> > </xsl:call-template> >> > </xsl:when> >> > <xsl:when test="$done" > >> > <xsl:call-template name="base-function"> >> > <xsl:with-param name="one" select="$done" /> >> > </xsl:call-template> >> > </xsl:when> >> > </xsl:choose> >> >> This works when you only have one parameter; but in the >> general case with N parameters, you have N! cases >> to handle with the current method shown above -- by >> allowing the <xsl:choose> inside the <xsl:call-template> >> you avoid all this unnecessary writing. In my current >> application I have 8 parameters in the base function; >> each with non-trivial default values. As a work-around >> I've had to make each "default value" a stand-alone >> template that is called by the derived function. >> >> Does this explain better? > > >Nikita Ogievetsky >http://www.cogx.com > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > *********************************** chickclick.com http://www.chickclick.com girl sites that don't fake it. http://www.chickmail.com sign up for your free email. *********************************** XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Wish List: Allow <xsl:choose> w, Nikita Ogievetsky | Thread | Re: Wish List: Allow <xsl:choose> w, Nikita Ogievetsky |
Re: Antwort: XSL working with IE5 a, Michele Lee | Date | Re: don't get variables, G. Ken Holman |
Month |