Creating an Index in DITA

In DITA, indexes are created from indexterm elements. You can insert index term elements:

  • In the header of a topic. In paginated media, such as a printed book or a PDF, this results in an index entry that points to the page in which the topic starts, even if it is not the page in which the indexed term occurs.
  • In the topicref element in a map that references the topic. This applies those index terms to that topic only when used in that map, allowing you to index topics differently in various publications. In paginated media, index entries point to the page in which the topic starts.
  • In the body of a topic. In paginated media, this results in an index entry that points to the page in which the indexterm element occurs, even if that is not the page in which the topic starts.

To add index terms to the text of a topic of the topic header, create the elements, as you normally would, in Oxygen XML Editor plugin. To add index terms to a map, open the map in the editor and add the elements, as you normally would, in a topic.

In some media, indexes will be generated automatically when index entries are found in the source. For other media, such as books, you may need to tell DITA where to place the index. For instance, to add an index to a bookmap, you need to add an indexlist element to the backmatter of the book.

  1. Open your bookmap in the DITA Maps Manager.
  2. Right-click the bookmap and select Append childBackmatter. The Insert Reference dialog box appears.
  3. Click Insert and Close to insert the backmatter element.
  4. Right-click the backmatter element and create a booklists element using Append childBook Lists.
  5. Use the same steps to create an indexlist element.

Caution

Adding index entries and an indexlist to your project creates an instruction to the DITA publishing routines to create an index. There is no guarantee that all DITA output types or third-party customizations obey that instruction or create the index the way you want it. Modifying the output may be necessary to get the result you want.

Was this helpful?