I found a circumvention for my post of 7 Mar.
Most of my 'catalog' values were things like 'G 4' or 'BWV1063'. And
I thought the suggestion at http://www.dpawson.co.uk/xsl/sect2/N6461.html#d7476e270 might help, if I made sure that all catalog values
contained a blank - then I could sort similarly to data-type="number" select="substring-after(.,'
')". Alas, catalog values for the too-prolific Telemann look like
'53 F: 1', meaning the first concerto for 3 instruments in the key of F. I
finally settled for:-
<xsl:sort data-type="text" ...
Not especially elegant,
but it seems to work.