典型地,以下步骤将通过代码向一个文档添加一个简单的一级嵌套的索引:
- 创建一个RenderIndex类型的实例并保存在一个本地变量(和之前提到的一样,索引不能放置在其包含的条目之前)。
- 当内容(render对象)添加至文档时,应当有一些代码逻辑标识哪些字符串将变成索引的条目(项)。每一个这样的字符串应当被测试,检查是否已经被加入到步骤一中间创建的索引对象的Entries集合。如果这是一个新的条目,则应当创建一个新的IndexEntry对象,并添加至索引。
- 为了指定一个条目在文档中出现的位置,应当为现有的或者新创建的条目添加一个条目出现位置的描述(IndexEntryOccurrence对象)。通常该位置由包含该条目,并且已经添加到文档的RenderObject唯一标识。
- 当该条目全部出现的位置已经添加到文档之后,在步骤一中间创建的RenderIndex对象可以被添加到文档。
- 在文档生成之后,RenderIndex对象将生成已添加条目的超链接索引。这些条目将自动排序,按照每一个条目的首字母进行分组,并在每一个分组之前添加该首字母做为分组标签。
当然这仅仅是一个简单的可能的应用场景,用来演示在创建索引时包含的主要对象之间的关系。其他一些可能的用法,包括在创建文档之前(基于一个外部的项目字典)创建索引项(索引条目),添加内嵌的条目(子条目)等等。