order of groups is based on value of their number code
collating of groups doesn't depend on XSLT processor used
terms inside group are sorted by means of XSLT processor
it would be very difficult to do this correctly on XSLT level
several XSLT processor offer way to specify own collating sequence
Czech collating for Saxon 6.5.x:
package com.icl.saxon.sort; import java.text.Collator; import java.util.Locale; public class Compare_cs extends TextComparer { int caseOrder = UPPERCASE_FIRST; public int compare(Object a, Object b) { Collator csCollator = Collator.getInstance( new Locale("cs", "cz")); return csCollator.compare(a, b); } public Comparer setCaseOrder(int caseOrder) { this.caseOrder = caseOrder; return this; } }