Name

index.method — Select method used to group index entries in an index

Synopsis

<xsl:param name="index.method" select="'english'"></xsl:param>

Description

This parameter lets you select which method should be used to sort and group index entries in an index. Indexes in languages that have accented characters typically sort together accented words and unaccented words. So “Á” (A acute) would sort together with “A”, so both would appear in the “A” section of the index.

The default indexing method does not sort accented characters this way. Words that start with an accented character will instead appear in the “Symbols” section of the index. As such, the default method is only suitable for English and other unaccented languages. The other indexing methods require extensions of one type or another, which is why there are not used by default.

The three choices for indexing method are:

english

(default) Sort and groups words based only on the Latin alphabet. Accented words and words in non-Latin alphabets will be put in the “Symbols” section of the index.

kosek

Sort and groups words based on letter groups configured in the DocBook locale file for the given language. For example, the French locale file is common/fr.xml. This method requires support for EXSLT extensions in the XSL processor. It also requires support for using user-defined functions in xsl:key (xsltproc does not).

This method is suitable for any language for which you can list all the individual characters that should appear in each letter group in an index. It is probably not practical to use it for ideographic languages such as Chinese that have hundreds or thousands of characters.

To use this method, your customization must set this parameter and import an additional stylesheet module:

<xsl:import href="[path-to-stylesheets]/common/autoidx-ng.xsl"/>
<xsl:param name="index.method">kosek</xsl:param>

The stylesheet module defines functions and adds an xsl:key used by the method.

kimber

This method uses extensions to the Saxon processor to implement sophisticated indexing processes. It uses its own configuration file, which can include information for any number of languages. Each language's configuration can group words using either an enumerated method similar to the kosek method, or it can designate the first character in each group when viewed in sort order. The latter configuration is useful for ideographic languages such as Chinese, Japanese, and Korean. You can also define your own collation algorithms and where you want Latin-alphabet words sorted.

To use this method, you must:

  1. Use Saxon as your XSLT processor.

  2. Install and configure the Innodata Isogen library, using the documentation that comes with it.

  3. Set this parameter's value to “kimber”.

  4. Import the index extensions stylesheet module common/autoidx-ng.xsl into your customization.