Re: [xsl] When to use conditional constructions?

Subject: Re: [xsl] When to use conditional constructions?
From: John Lumley <john@xxxxxxxxxxxx>
Date: Sun, 30 Mar 2014 19:49:05 +0100
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