Subject: Re: [xsl] "Return" from a function? From: "andrew welch" <andrew.j.welch@xxxxxxxxx> Date: Thu, 1 Jun 2006 10:42:34 +0100 |
On 6/1/06, Phillip B Oldham <phillip.oldham@xxxxxxxxxx> wrote: > Though, thinking about it, I suppose I could do something like the > following (thanks *Andrew*): > > <xsl:template match="/subscriptions/item[renewaldate]"> > <p>Your renewal date for <xsl:value-of select="subscriptionname" /> is: > <xsl:value-of select="renewaldate" />.</p> > </xsl:template> > > <xsl:template match="/subscriptions/item[not(renewaldate)]"> > <p>Sorry, there has been an error...</p> > </xsl:template> > > Feels weird though, because actions for the same element aren't being > kept "together" (within the same template), but it does look more useful > than a return.
I think, you can write
<xsl:template match="/subscriptions/item"> <xsl:choose> <xsl:when test="renewaldate"> <p>Your renewal date for <xsl:value-of select="subscriptionname" /> is: <xsl:value-of select="renewaldate" />.</p> </xsl:when> <xsl:otherwise> <p>Sorry, there has been an error...</p> </xsl:otherwise> </xsl:template>
You could, but one of the great benefits of keeping everything in individual templates is that you could then override a template with an importing stylesheet.
For example, if you had the requirement to alter the error message for a particular customer, all you would need to do is create a new stylesheet that imports the existing stylesheet:
<xsl:stylesheet ...> <xsl:import href="main.xslt"/> <xsl:template match="/subscriptions/item[not(renewaldate)]"> <p> Customer specific error message </p> </xsl:template> </xsl:stylesheet>
You wouldnt have to touch the existing code which means you wouldn't risk breaking anything for existing customers, wouldn't have to re-test everything etc.
This, I think, is another good design rule: when a template contains a choose/when as its only child, separate it out into individual templates.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] "Return" from a function?, Mukul Gandhi | Thread | Re: [xsl] Dynamically ordering/disp, omprakash . v |
Re: [xsl] "Return" from a function?, Mukul Gandhi | Date | [xsl] Counting total of groups, Francisco |
Month |