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
| <- Previous | Index | Next -> |
| Re: Legibility, repetition, n, Alan Painter alan.pa
|
Thread |
Re: Legibility, repetition, n, Alan Painter alan.pa
|
| Re: Legibility, repetition, n, Wendell Piez wapiez@
|
Date |
Re: [saxon] Use of QName forc, Norman Tovey-Walsh n
|
|
Month |
|
|