Subject: Re: [xsl] When to use conditional constructions? From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Sun, 30 Mar 2014 11:58:46 -0700 |
John, If the conditions can be expressed as mutually exclusive, order doesn't matter. If this isn't possible, simply use the 'priority' attribute on the templates that implement what corresponds to the <xsl:when> elements, so that template for the first <xsl:when> has the highest priority, ..., etc. The template that corresponds to the <xsl:otherwise> element can safely be given priority -999999999 Cheers, Dimitre On Sun, Mar 30, 2014 at 11:49 AM, John Lumley <john@xxxxxxxxxxxx> wrote: > > On 30 Mar 2014, at 18:28, Michael Kay <mike@xxxxxxxxxxxx> wrote: > >> I do have a strong preferance for multiple template rules over xsl:choose. I think this is mainly because it makes it easier to evolve the code as it develops over time. Though a strong downside is that it can be very hard for the reader of the code to work out which templates are going to fire under which circumstances. > > I've found that one of the benefits of using xsl:choose is that it keeps all the 'cases' together in one coherent collection. It also has a well-defined 'priority order'. If you use multiple template rules they can end up scattered and difficult to view as a complete set and priority can be somewhat awkward. > > For example one of my 'pagination' called templates contains an xsl:choose with perhaps 15 cases (bpage-break?', 'content-fits?', 'can-be-broken?'....) that would be much more tricky to prioritise as templates. > > Of course use of a unique mode with templates can help, but it would still be nice to collect them all together into preferably a single XML node - perhaps a package? > > John
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] When to use conditional c, John Lumley | Thread | Re: [xsl] When to use conditional c, John Lumley |
Re: [xsl] When to use conditional c, John Lumley | Date | Re: [xsl] When to use conditional c, Ihe Onwuka |
Month |