Each Contents entry consists of three parts. The first item is always the contents level, a single digit from 1 to 9. (Zero is not used, and is reserved.) The second is the text to be displayed in the Contents navigation pane, normally the topic title. This text is used by all the other navigational files, which reference the text by its index from the start of the (zero-based) tocItems array.
The third item is usually the link to the file to display. This can be a plain name, or a name with a hash value to specify an anchor within the file. In the latter case, the file loads directly at that anchor point, scrolled to the top if possible. (It might not be possible if the anchor is within the last screenful of the file.) If the file is already loaded, it scrolls to the new anchor; it’s perfectly fine to have several contents items reference different points in the same file:
[2,"10 Splitting and extracting files","splits.htm#Xaa1069764"],
If, however, the third item begins with an asterisk, that item is not a link. Instead, it is the name of a subproject to be merged with the current project as needed. That subproject must appear in the mergeProjects array in .ohx (otherwise, the Contents item is not displayed); and that entry specifies the tocItems index of the subproject’s Contents entry (see § Modular help on page 9). If the subproject fails merging, the asterisk is changed to an exclamation point, and the entry is no longer displayed:
[2,"11 HTML Linking","!oh11"],