[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Grouping by letters but keep symbols together
On Fri, Jan 25, 2019 at 02:44:50PM -0000, Rick Quatro rick@xxxxxxxxxxxxxx scripsit: > 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: [snip] > 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. Any suggestions would be > appreciated. Thank you very much. I'd use a Unicode character category match for this: <xsl:for-each-group select="glossentry" group-by="(substring(upper-case(glossterm),1,1)[matches(.,'\p{Lu}')],'NON-LETTER-GROUP')[1]"> <topicref navtitle="{current-grouping-key()}" toc="no"> ... </topicref> </xsl:for-each-group> What you put in for "NON-LETTER-GROUP" might depend on where or how you're sorting the glossary entries. -- Graydon
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|