While testing my fixes for broken links, I discovered a bug in the Authors index: "Sánchez-Salido" is sorted in between "Smith" and "Snickars", not up next to another "Sanchez".
The reason appears to be the XSLT code in author_index.xsl which lower-cases capital letters and removes any other characters that aren't a–z (read: diacritics aren't allowed). With this code in place, I believe "Sánchez-Salido" is given a sort key of "snchezsalido".
The complicated code required to make sortable keys is insufficient. To fix it would require an awful lot of complex and unreadable XSLT 1.0 code. Or we could upgrade to XSLT 2.0 or 3.0, and just use lower-case() to generate that sort key. I recommend the latter!
While testing my fixes for broken links, I discovered a bug in the Authors index: "Sánchez-Salido" is sorted in between "Smith" and "Snickars", not up next to another "Sanchez".
The reason appears to be the XSLT code in
author_index.xsl
which lower-cases capital letters and removes any other characters that aren't a–z (read: diacritics aren't allowed). With this code in place, I believe "Sánchez-Salido" is given a sort key of "snchezsalido".The complicated code required to make sortable keys is insufficient. To fix it would require an awful lot of complex and unreadable XSLT 1.0 code. Or we could upgrade to XSLT 2.0 or 3.0, and just use
lower-case()
to generate that sort key. I recommend the latter!