index.method.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <refentry xmlns="http://docbook.org/ns/docbook"
  2. xmlns:xlink="http://www.w3.org/1999/xlink"
  3. xmlns:xi="http://www.w3.org/2001/XInclude"
  4. xmlns:src="http://nwalsh.com/xmlns/litprog/fragment"
  5. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  6. version="5.0" xml:id="index.method">
  7. <refmeta>
  8. <refentrytitle>index.method</refentrytitle>
  9. <refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
  10. <refmiscinfo class="other" otherclass="value">basic</refmiscinfo>
  11. <refmiscinfo class="other" otherclass="value">kosek</refmiscinfo>
  12. <refmiscinfo class="other" otherclass="value">kimber</refmiscinfo>
  13. </refmeta>
  14. <refnamediv>
  15. <refname>index.method</refname>
  16. <refpurpose>Select method used to group index entries in an index</refpurpose>
  17. </refnamediv>
  18. <refsynopsisdiv>
  19. <src:fragment xml:id="index.method.frag">
  20. <xsl:param name="index.method">basic</xsl:param>
  21. </src:fragment>
  22. </refsynopsisdiv>
  23. <refsection><info><title>Description</title></info>
  24. <para>This parameter lets you select which method to use for sorting and grouping
  25. index entries in an index.
  26. Indexes in Latin-based languages that have accented characters typically
  27. sort together accented words and unaccented words.
  28. Thus <quote>Á</quote> (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together
  29. with <quote>A</quote> (U+0041 LATIN CAPITAL LETTER A), so both would appear in the <quote>A</quote>
  30. section of the index.
  31. Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet)
  32. and languages using ideographic chararacters (such as Japanese)
  33. require grouping specific to the languages and alphabets.
  34. </para>
  35. <para>The default indexing method is limited.
  36. It can group accented characters in Latin-based languages only.
  37. It cannot handle non-Latin alphabets or ideographic languages.
  38. The other indexing methods require extensions of one type or
  39. another, and do not work with
  40. all XSLT processors, which is why they are not used by default.</para>
  41. <para>The three choices for indexing method are:</para>
  42. <variablelist>
  43. <varlistentry>
  44. <term><literal>basic</literal></term>
  45. <listitem>
  46. <para>
  47. (default) Sort and groups words based only on the Latin alphabet.
  48. Words with accented Latin letters will group and sort with
  49. their respective primary letter, but
  50. words in non-Latin alphabets will be
  51. put in the <quote>Symbols</quote> section of the index.
  52. </para>
  53. </listitem>
  54. </varlistentry>
  55. <varlistentry>
  56. <term><literal>kosek</literal></term>
  57. <listitem>
  58. <para>
  59. This method sorts and groups words based on letter groups configured in
  60. the DocBook locale file for the given language.
  61. See, for example, the French locale file <filename>common/fr.xml</filename>.
  62. This method requires that the XSLT processor
  63. supports the EXSLT extensions (most do).
  64. It also requires support for using
  65. user-defined functions in xsl:key (xsltproc does not).
  66. </para>
  67. <para>This method is suitable for any language for which you can
  68. list all the individual characters that should appear
  69. in each letter group in an index.
  70. It is probably not practical to use it for ideographic languages
  71. such as Chinese that have hundreds or thousands of characters.
  72. </para>
  73. <para>To use the kosek method, you must:</para>
  74. <orderedlist>
  75. <listitem>
  76. <para>Use a processor that supports its extensions, such as
  77. Saxon 6 or Xalan (xsltproc and Saxon 8 do not).
  78. </para>
  79. </listitem>
  80. <listitem>
  81. <para>Set the index.method parameter's value to <quote>kosek</quote>.
  82. </para>
  83. </listitem>
  84. <listitem>
  85. <para>Import the appropriate index extensions stylesheet module
  86. <filename>fo/autoidx-kosek.xsl</filename> or
  87. <filename>html/autoidx-kosek.xsl</filename> into your
  88. customization.
  89. </para>
  90. </listitem>
  91. </orderedlist>
  92. </listitem>
  93. </varlistentry>
  94. <varlistentry>
  95. <term><literal>kimber</literal></term>
  96. <listitem>
  97. <para>
  98. This method uses extensions to the Saxon processor to implement
  99. sophisticated indexing processes. It uses its own
  100. configuration file, which can include information for any number of
  101. languages. Each language's configuration can group
  102. words using one of two processes. In the
  103. enumerated process similar to that used in the kosek method,
  104. you indicate the groupings character-by-character.
  105. In the between-key process, you specify the
  106. break-points in the sort order that should start a new group.
  107. The latter configuration is useful for ideographic languages
  108. such as Chinese, Japanese, and Korean.
  109. You can also define your own collation algorithms and how you
  110. want mixed Latin-alphabet words sorted.</para>
  111. <itemizedlist>
  112. <listitem>
  113. <para>For a whitepaper describing the extensions, see:
  114. <link xlink:href="http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf">http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf</link>.
  115. </para>
  116. </listitem>
  117. <listitem>
  118. <para>To download the extension library, see
  119. <link xlink:href="http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport">http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport</link>.
  120. </para>
  121. </listitem>
  122. </itemizedlist>
  123. <para>To use the kimber method, you must:</para>
  124. <orderedlist>
  125. <listitem>
  126. <para>Use Saxon (version 6 or 8) as your XSLT processor.
  127. </para>
  128. </listitem>
  129. <listitem>
  130. <para>Install and configure the Innodata Isogen library, using
  131. the documentation that comes with it.
  132. </para>
  133. </listitem>
  134. <listitem>
  135. <para>Set the index.method parameter's value to <quote>kimber</quote>.
  136. </para>
  137. </listitem>
  138. <listitem>
  139. <para>Import the appropriate index extensions stylesheet module
  140. <filename>fo/autoidx-kimber.xsl</filename> or
  141. <filename>html/autoidx-kimber.xsl</filename> into your
  142. customization.
  143. </para>
  144. </listitem>
  145. </orderedlist>
  146. </listitem>
  147. </varlistentry>
  148. </variablelist>
  149. </refsection>
  150. </refentry>