Re: [xsl] Grouping by letters but keep symbols together

Subject: Re: [xsl] Grouping by letters but keep symbols together
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 25 Jan 2019 14:52:39 -0000
On 25.01.2019 15:44, Rick Quatro rick@xxxxxxxxxxxxxx wrote:

I am creating a glossary and I want to group entries under each letter of the alphabet. I am using this and it is working fine:

<xsl:for-each-group select="glossentry" group-by="upper-case(substring(glossterm/text(),1,1))">

<topicref navtitle="{current-grouping-key()}" toc="no">

...

</topicref>

</xsl:for-each-group>

However, I want to group entries that start with a symbol or number all together under one group. I am not sure what to use for the group-by attribute so that letters are separate from each other and all of the non-letter characters are in the same group.

Along the idea of Michele's answer, but using XPath 2 and "replace" instead of "translate"


group-by="replace(upper-case(substring(glossterm, 1, 1)), '\P{L}', '#')

Current Thread