Re: [xsl] XSLT 4: map serialization

Subject: Re: [xsl] XSLT 4: map serialization
From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 25 Nov 2020 13:29:00 -0000
On Wed, Nov 25, 2020 at 04:56:06AM -0000, Dimitre Novatchev dnovatchev@xxxxxxxxx scripsit:
> > works, but while this is doubtless a question of aesthetic bias I don't
> > consider this solution more elegant than (or preferable to) the XSLT version
[snip]
> *As for elegance*, one can write a more elegant expression if one defines a
> separate inline XPath function:
> 
> *let $makeElement := function($k, $v) {*
> *  parse-xml('<' || $k '>' || $v '</' || $k '>' )*
> * return*
> *    ($wordArchive ! $ makeElement('entry', map:for-each(., $makeElement
> ($k, $x)))*
> *       ! parse-xml(.)*
> *}*

This is still constructing the serialized form as a string, which gives me the flinch.  Experience says this is not how I lower the maintenance cost of the code.

> Not to mention that having a comprehensive library of XPath functions is
> both powerful and elegant as it provides a set of basic building blocks for
> potentially unlimited number and scope of problems.

I think having actual node constructors in XPath would be helpful.  Having my own XPath function library introduces all sorts of maintenance and portability problems customers are generally savvy enough to spot and complain about. (and my employer is _certainly_ savvy enough to spot and complain about!)

-- 
Graydon Saunders  | graydonish@xxxxxxxxx
^fs oferiode, pisses swa mfg.
-- Deor  ("That passed, so may this.")

Current Thread