index.method — Select method used to group index entries in an index
This parameter lets you select which method should be used to sort and group index entries in an index. Indexes in latin-based languages that have accented characters typically sort together accented words and unaccented words. Thus “Á” (A acute) would sort together with “A”, so both would appear in the “A” section of the index. Languages using other alphabets (such as Russian cyrillic) and languages using ideographic chararacters (such as Japanese) require grouping specific to the languages and alphabets.
The default indexing method is limited. It can group accented characters in latin-based languages only. It cannot handle non-latin alphabets or ideographic languages. The other indexing methods require extensions of one type or another, and do not work with all XSLT processors, which is why there are not used by default.
The three choices for indexing method are:
basic
(default) Sort and groups words based only on the Latin alphabet. Words with accented latin letters will group and sort with their respective primary letter, but 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.
See, for example, the French locale file common/fr.xml
.
This method requires that the XSLT processor
support the EXSLT extensions (most do).
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 the kosek method, you must:
Use a processor that supports its extensions, such as Saxon 6 or Xalan (xsltproc and Saxon 8 do not).
Set the index.method parameter's value to “kosek”.
Import the appropriate index extensions stylesheet module
fo/autoidx-kosek.xsl
or
html/autoidx-kosek.xsl
into your
customization.
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 one of two processes. In the enumerated process similar to that used in the kosek method, you indicate the groupings character-by-character. In the between-key process, you specify the break-points in the sort order that should start a new group. The latter configuration is useful for ideographic languages such as Chinese, Japanese, and Korean. You can also define your own collation algorithms and how you want mixed Latin-alphabet words sorted.
For a whitepaper describing the extensions, see: http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf.
To download the extension library, see http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport.
To use the kimber method, you must:
Use Saxon (version 6 or 8) as your XSLT processor.
Install and configure the Innodata Isogen library, using the documentation that comes with it.
Set the index.method parameter's value to “kimber”.
Import the appropriate index extensions stylesheet module
fo/autoidx-kimber.xsl
or
html/autoidx-kimber.xsl
into your
customization.