Collating index terms

  • 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;
          }
      
      }