Re: [xsl] Legibility, repetition, nesting

Subject: Re: [xsl] Legibility, repetition, nesting
From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 20 Jul 2020 21:00:27 -0000
On Mon, 2020-07-20 at 18:24 +0000, David Birnbaum djbpitt@xxxxxxxxx
wrote:
> Dear Syd (cc xsl-list),
> 
> Thanks for the quick response. As you note, the actual main template
> does a
> lot of things that are common to all types before it gets to the
> <xsl:choose>, and if I write completely separate templates for each
> of the
> types, I would need to repeat that shared code verbatim in each of
> the
> type-specific templates.


Maybe write a function that returns a map containing the variables, so
instead of $socksize you'd write, $metadata?socksize or whatever.

Call that at the start of the template.  Now you have only one line,
and you can use next-match with a parameter.  Or lots of templates, but
each calling that common function at the start.

Or you can invert it and have 30 lines of preamble and then call a
function.

It's possible to make a map (or array) whose entries are functions, so
another possibility is a table-driven approach, where you look up in a
table some combination of values and call the function that's listed
there.

Liam

-- 
Liam Quin, https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations:  http://www.fromoldbooks.org

Current Thread